Archon Short
Forumsgott/göttin
Um bei mir die Kommunikation der Scripte zu verschlüsseln nutze ich folgende kleine Funktion:
Global lege ich einen Verschlüsselungscode fest:
string S_crypt_string = "fdslkjfsdlkjbklfsdkbnlsdfknbg";
- Dieser String muss im Sender- und im Empfängerscript identisch sein
Jetzt kommt die Verschlüsselung:
Die zu verschlüsselnde Kommunikation wird erstmal in eine Liste gepackt:
string s = llList2CSV([hier den Kram rein]);
Dann kommt an einer Stelle im Script die eigentliche Verschlüsselung:
string crypted = llXorBase64( llStringToBase64(s),llStringToBase64(S_crypt_string));
- Hier wird nun die ehemalige Liste nochmal komplett verschlüsselt
- Dieser String kann nun versendet werden (llSay,llMessageLinked,.....)
Jetzt kommt die Entschlüsselung:
Das Scipt empfängt die Kommunikation als String str
Diese wird erstmal entschlüsselt und danach wieder zur Ausgangsliste zurückformatiert:
string decrypted = llBase64ToString(llXorBase64(str, llStringToBase64(S_crypt_string)));
list templist = llCSV2List(decrypted);
Manchmal möchte man nicht, daß andere Nutzer die Projektinterne Kommunikation nutzbar mitschneiden können.
Das ist nun der Punkt an dem es zur Erstellung eines sicheren Verschlüsselungscodes kommt:
S_crypt_string muss also aus Daten bestehen, die nur sehr kurzzeitig nutzbar sind:
Man kann z.B. den Objektkey, die aktuelle Position, OwnerKey, Unixtime, ... verwenden.
Dies ändert sich ja auch nicht während der Übermittlung.
Somit ist es mit einfachen Mitteln möglich eine Kommunikation, die nicht geknackt werden kann, für Projekte zu haben, bei denen die Eigentümer unterschiedliche Personen sind.
Ich hoffe dies ist verständlich geschrieben, falls nicht arbeite ich das auch gern nochmal nach.
LG Archon
Global lege ich einen Verschlüsselungscode fest:
string S_crypt_string = "fdslkjfsdlkjbklfsdkbnlsdfknbg";
- Dieser String muss im Sender- und im Empfängerscript identisch sein
Jetzt kommt die Verschlüsselung:
Die zu verschlüsselnde Kommunikation wird erstmal in eine Liste gepackt:
string s = llList2CSV([hier den Kram rein]);
Dann kommt an einer Stelle im Script die eigentliche Verschlüsselung:
string crypted = llXorBase64( llStringToBase64(s),llStringToBase64(S_crypt_string));
- Hier wird nun die ehemalige Liste nochmal komplett verschlüsselt
- Dieser String kann nun versendet werden (llSay,llMessageLinked,.....)
Jetzt kommt die Entschlüsselung:
Das Scipt empfängt die Kommunikation als String str
Diese wird erstmal entschlüsselt und danach wieder zur Ausgangsliste zurückformatiert:
string decrypted = llBase64ToString(llXorBase64(str, llStringToBase64(S_crypt_string)));
list templist = llCSV2List(decrypted);
Manchmal möchte man nicht, daß andere Nutzer die Projektinterne Kommunikation nutzbar mitschneiden können.
Das ist nun der Punkt an dem es zur Erstellung eines sicheren Verschlüsselungscodes kommt:
S_crypt_string muss also aus Daten bestehen, die nur sehr kurzzeitig nutzbar sind:
Man kann z.B. den Objektkey, die aktuelle Position, OwnerKey, Unixtime, ... verwenden.
Dies ändert sich ja auch nicht während der Übermittlung.
Somit ist es mit einfachen Mitteln möglich eine Kommunikation, die nicht geknackt werden kann, für Projekte zu haben, bei denen die Eigentümer unterschiedliche Personen sind.
Ich hoffe dies ist verständlich geschrieben, falls nicht arbeite ich das auch gern nochmal nach.
LG Archon