2016-09-23 2 views
0

Ich weiß, es ist nicht möglich, eine Programmiersprache zu einem anderen zu übersetzen, aber jetzt versuche ich etwas mit nodejs zu verschlüsseln, und in den Dokumenten, die ich arbeite mit sie haben kein Beispiel für Nodejs sie haben nur für PHP,Base64encode in Knoten js

Also meine Frage, wie kann ich schreibe diesen Code

base64encode(hex(sha256("shared_secret"))) 

in NodeJS

+1

Mögliche Duplikat [NodeJS - SHA256 Passwort Encryption] (http://stackoverflow.com/questions/19236327/nodejs-sha256-password-encryption) –

+0

@BenFortune ich schon versucht diese Antwort aber funktionierte nicht für mich – Doe

Antwort

0

Vielleicht, dass Ihnen helfen kann, aber wenn Sie das Kennwort verschlüsseln möchten this will be more helpful I think.

var crypto = require('crypto'); 
var hash = crypto.createHash('sha256').update(pwd).digest('hex').digest('base64'); 
0

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