cryptojs: Wie generieren AES passphrase

Möchte ich zum generieren einer 256-bit-Passwort für mein AES-Verschlüsselung. Wenn ich das Passwort nach der Verschlüsselung ist es anders als mein initial-Passwort. Was mache ich falsch? Oder gibt es ein Sicherheits-Mechanismus, ich bin mir nicht bewusst?

Mein code:

password=Generate_key();

var encrypted = CryptoJS.AES.encrypt("Message", password);

//Those two should be the same
document.write(password+"<br>");
document.write(encrypted.key);


function Generate_key() {
    var key = "";
    var hex = "0123456789abcdef";

    for (i = 0; i < 64; i++) {
        key += hex.charAt(Math.floor(Math.random() * 16));
        //Initially this was charAt(chance.integer({min: 0, max: 15}));
    }
    return key;
}

Die Ausgabe ist also

0b05308c9a00f07044416bad7a51bacd282fc5c0c999551a4ff15c302b268b20
4df875993770411044fb35953166ee7833c32ca0741e9fec091dfa10138039e8

Ist das normal oder mache ich etwas falsch hier?
Danke für die Hilfe!

  • Math.floor(Math.random() * 16) ist nicht äquivalent zu chance.integer({min: 0, max: 15}). Sie sollten versuchen Math.round(Math.random() * 15)
InformationsquelleAutor Yaron | 2014-04-05
Schreibe einen Kommentar