Wenn Sie Code schreiben, der nicht IE9 nicht unterstützen müssen oder früher, dann können Sie btoa() und atob() verwenden, um und von Base64-Kodierung zu konvertieren. Ansonsten verwenden Sie etwas wie die Funktion Sunny referenziert.
Es scheint einige Verwirrung in den Kommentaren zu sein in Bezug auf, was diese Funktionen übernehmen/Rückkehr, so ...
btoa() akzeptiert ein „string“, wobei jedes Zeichen eine 8-Bit-Byte repräsentiert - wenn übergeben Sie einen String mit Zeichen, die nicht in 8 Bits dargestellt werden können, wird es wahrscheinlich brechen. Dies ist kein Problem, wenn Sie die Zeichenfolge tatsächlich als Byte-Array behandeln. Wenn Sie jedoch versuchen, etwas anderes zu tun, müssen Sie es zuerst codieren. atob() gibt eine "Zeichenkette" zurück, wobei jedes Zeichen ein 8-Bit-Byte darstellt - das heißt, sein Wert liegt zwischen 0 und 0xff. Dies bedeutet nicht, dass es ASCII ist - vermutlich, wenn Sie diese Funktion überhaupt verwenden, erwarten Sie, mit Binärdaten und nicht mit Text zu arbeiten.
function b64EncodeUnicode(str) {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
return String.fromCharCode('0x' + p1);
}));
}
b64EncodeUnicode('✓ à la mode'); // "4pyTIMOgIGxhIG1vZGU="
b64EncodeUnicode('\n'); // "Cg=="
https://scotch.io/tutorials/how-to-encode-and-decode-strings-with-base64-in-javascript https://developer.mozilla.org/en/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
Mögliche Duplikat [NodeJS - SHA256 Passwort Encryption] (http://stackoverflow.com/questions/19236327/nodejs-sha256-password-encryption) –
@BenFortune ich schon versucht diese Antwort aber funktionierte nicht für mich – Doe