Lars: Sicheres _verstecken_ von Passwörten

Beitrag lesen

Tag,

Also, dieses CryptoJS ist ja eine ziemlich ... interessante Sache - wenn auch praktisch unmöglich für einen Laien zu verstehen welche Funktion was zurückliefert und was dann damit zu tun ist. Ich habe eine Zeit lang googeln müssen um das einigermaßen erklärt zu bekommen. Schaut sich doch mal jemand dort auf der Seite den Code vom AES Beispiel an... das ist doch das letzte - würde ich sagen. Den letzten, aber doch wohl entscheidensten Schritt einfach weg zu lassen...

So wird AES benutzt:

var encrypted = CryptoJS.AES.encrypt('Geheimer Text', 'passwort');
var decrypted = CryptoJS.AES.decrypt(encrypted, 'passwort');
//Der Laie würde sich jetzt mal encrypted und decrypted ausgeben lassen um zu schauen ob der Kram auch tatsächlich funktioniert - man kann ja nie wissen ;-)
//console.log(encrypted + '\n ' + decrypted);
//Tja, viel Spaß mit dem Ergebnis...
//Hier die Zeile, die einem endlich ein Lichtlein zeigt
decrypted_str = decrypted.toString(CryptoJS.enc.Utf8);
//console.log(decrypted_str);  ==> 'Geheimer Text'

Gibt man ein anderes 'passwort' zum entschlüsseln ein als man zum verschlüsseln verwendet hat so gibt console.log(decrypted_str) ==> '' - eine leere Zeichenkette aus. So gehe ich davon aus, dass man nun mit

var passwort = window.prompt('...', '');
var decrypted = CryptoJS.AES.decrypt((encrypted_content), passwort);
var decrypted_str = ... (s.o.)
if (decrypted_str.length !== 0)
  doSth();

überprüfen kann, ob jemand das Passwort kennt, oder eben nicht.

Abschließende Fragen: Habe ich einen Fehler gemacht? Gibt es noch was zu beachten / anzumerken?

LG Lars