2016-05-10 8 views
4

berechnen Ich versuche, den folgenden C# -Code in JavaScript neu zu erstellen.Wie man eine SHA256 Hash und Base64 String Codierung in JavaScript/Knoten

SHA256 myHash = new SHA256Managed(); 
Byte[] inputBytes = Encoding.ASCII.GetBytes("test"); 
myHash.ComputeHash(inputBytes); 
return Convert.ToBase64String(myHash.Hash); 

Dieser Code gibt "n4bQgYhMfWWaL + qgxVrQFaO/TxsrC4Is0V1sFbDwCgg ="

Das ist, was ich bisher für meine JavaScript-Code haben

var sha256 = require('js-sha256').sha256; 
var Base64 = require('js-base64').Base64; 

var sha256sig = sha256("test"); 

return Base64.encode(sha256sig); 

die JS-Code gibt "OWY4NmQwODE4ODRjN2Q2NTlhMmZlYWEwYzU1YWQwMTVhM2JmNGYxYjJiMGI4MjJjZDE1ZDZjMTViMGYwMGEwOA =="

Dies sind die 2 JS-Bibliotheken, die ich verwendet habe

https://www.npmjs.com/package/js-sha256 https://www.npmjs.com/package/js-base64

Weiß jemand, wie es funktioniert? Benutze ich die falschen Bibliotheken?

Vielen Dank

Antwort

4

Sie brauchen keine Bibliotheken Verschlüsselungsfunktionen in NodeJS zu verwenden.

const crypto = require('crypto'); 

const hash = crypto.createHash('sha256') 
        .update('test') 
        .digest('base64'); 
console.log(hash); // n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg= 
+0

Erstaunlich. Vielen Dank ! – klugjo