# Thread: Small tutorial on encryption

1. ## Small tutorial on encryption

I do not have much time, so I'll do the best i can with the time i have.
Encryption can be simple, and even those encryptions are enough to "kick-off" 99.9% people that are up to "crack" into your data. For example, simple encryption can be converting all characters to ascii numbers, and possibly reverse them. For example:
Code:
```variable = "I'm the king of the world!";
tmp = "";
for (i=1;i<=length(variable);i++) {
tmp += ord(substring(variable,i,1));
}
variable = tmp;```
this will result in turning variable to:
Code:
`339109321161041013210710511010332111102321161041013211911111410810033`
Not quite nice, right? But there is one little problem, since some chars can be 2 and some 3 numbers in length (some one), it would be pretty hard to extract them back, so, let's change the script to:
Code:
```variable = "I'm the king of the world!";
tmp = "";
for (i=1;i<=length(variable);i++) {
tmp2 = ord(substring(variable,i,1));
while (length(tmp2) < 3) {
tmp2 = "0" + tmp2;
}
tmp += tmp2;
}
variable = tmp;```
Now we got:
Code:
`073039109032116104101032107105110103032111102032116104101032119111114108100033`
Now it's better, isn't it? OK, so let's twist it even more by reversing it:
Code:
```tmp = ""
for(i=length(variable);i>0;i--) {
tmp = substring(variable,i,1) + tmp;
}
variable = tmp;```
So we have:
Code:
`330001801411111911230101401611230201111230301011501701230101401611230901930370`
Let's complicate it even more... let's add 2 random numbers after each 4 of this string:
Code:
```tmp = ""
for(i=1;i<=length(variable);i+=4) {
tmp = substring(variable,i,4) + random(9) + random(9);
}
variable = tmp;```
Now we have:
Code:
```3300550180411411041119211123330101204016821123570201341112053030321011825017250123510101224016041123
180901349303607013```
which looks quite impossible to crack if you don't know the exact algorythm for this... now, lets complicate it even more, by reversing this string:
Code:
```tmp = ""
for(i=length(variable);i>0;i--) {
tmp = substring(variable,i,1) + tmp;
}
variable = tmp;```
Viola, and we have:
Code:
`3300460180631411211119581123150101524016671123850201641112143030761011815017530123430101164016601123530901779303107057`
Interesting? Those are basic numbers/strings manipulations which looks like impossible to crack. Now let's add locking/unlocking key. For example:
Code:
```tmp = ""
key = "locked";
// first we will convert it to numbers, because we are talking about pure numeric encryption now
for (i=1;i<=length(key);i++) {
tmp2 = ord(substring(key,i,1));
while (length(tmp2) < 3) {
tmp2 = "0" + tmp2;
}
tmp += tmp2;
}
key = tmp;```
and let's now apply it to our "encrypted" data, by pattern, 1 number of the key will be added to first 3 numbers, second will be added to second 3 numbers, etc.
Code:
```tmp = "";
cnt = 1;
for(i=1;i<=length(variable);i+=3) {
tmp += substring(variable,i,3).valueOf() + substring(key,cnt,3).valueOf();
cnt += 3;
if (cnt == length(key)) {
cnt = 1;
}
}
variable = tmp;```
Now we have:
Code:
`3301080871110180990211071411011661001119401123760101634016671123200201631112573030461011625017570123740101184016851123850901739303757038`
This is almost the maximum that you can do with numbers encryption manipulation... you can of course now play with it more to make it more complicated, but i'll leave that to you.

To get it back, you'll use RE (reverse engineering)... I wont write the script, but it's easy to figure it out... you will just same things, but backwards... you'll first "remove" key (each 3 numbers - current number of key), then you'll reverse it... then you'll remove those random 2 numbers (on each 6 characters, you'll select only first 4), then you'll reverse it again, and then you will convert each 3 characters to ascii string (using chr())... and Viola, you'll get your string back again!

Now i don't have time to write about strong, alpha-numeric encryptions, but if you use your imagination, you can create an unique encryption, which is almost impossible to crack...

So, enjoy protecting your files from "normal mortals" and "want-to-be kiddies"

Cheers, and hope this little lession helps...
(P.S. Hope you are not confused.)

2. there is a little problem with this and that is you can not protect your source in any way,most people can scan a swf file and extract all the action script inside.
but i should say your work is pretty nice .
-----------------------------------------------------------------------------------------------------------------------
I may not agree with what you say, but I will defend to the death your right to say it.

3. Thanks for the compliment.
But, of course, there are many many other ways of protecting the source code.

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•