De DigiWiki.
default
{
state_entry(){
// Use a HARD password ! with caps nocaps numbers and symbols !
string pass = "P4s5Wo_rD";
string data = "I am some ver important data.";
// Enccrypting the data:
string crypt = llXorBase64(llStringToBase64(data), llStringToBase64(pass));
// Say the mess you made to Owner
llOwnerSay(crypt);
// DeCrypting the data and say back to owner:
llOwnerSay(llBase64ToString(llXorBase64(crypt, llStringToBase64(pass))));
}
}
// Stronger encryption - generates a random encrypted string.
//safe character set
string ASCII = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
//convert integer to characters
string chr(integer i)
{
return llGetSubString(ASCII, i, i);
}
//for generating a random string.
string salt(integer amount) {
string salt = "";
integer i;
//for length of salt , generate characters
for(i = 0; i < amount; i++) {
salt += chr((integer)llFrand(llStringLength(ASCII)));
}
return salt;
}
default
{
touch_start(integer n) {
//generates a random salt to add to the string.
//put salt on the end so that even if the data is corrupted by SVC-6362, it is unimportant data
string data = "I am some very important data." + salt((integer)llFrand(5)+ 5);
string pass = "password";
// Encrypting the data:
string crypt = llXorBase64(llStringToBase64(data), llStringToBase64(pass));
// Say the mess you made to Owner
llOwnerSay(crypt);
// DeCrypting the data and say back to owner: Remember to remove the salt when needed ;)
llOwnerSay(llBase64ToString(llXorBase64(crypt, llStringToBase64(pass))));
}
}