LlXorBase64
De DigiWiki.
Version du 30 novembre 2013 à 13:56 par Djphil (discuter | contributions)
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)))); } }


