2016-05-10 19 views
4

次のC#コードをJavaScriptで再作成しようとしています。 JavaScript/NodeでSHA256ハッシュとBase64文字列エンコーディングを計算する方法

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

このコードを返します

は "n4bQgYhMfWWaL + qgxVrQFaO/TxsrC4Is0V1sFbDwCgg ="

これは私が私のJavaScriptコードのために、これまで

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

var sha256sig = sha256("test"); 

return Base64.encode(sha256sig); 

JSコードリターンを持っているものである "OWY4NmQwODE4ODRjN2Q2NTlhMmZlYWEwYzU1YWQwMTVhM2JmNGYxYjJiMGI4MjJjZDE1ZDZjMTViMGYwMGEwOA =="

これは私が使用した2つのJSライブラリです

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

誰もがそれを動作させる方法を知っていますか?私は間違ったライブラリを使用していますか?

どうもありがとう

答えて

4

あなたはNodeJSに暗号化機能を使用するために、任意のライブラリを必要としません。

const crypto = require('crypto'); 

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

素晴らしい。ありがとう! – klugjo

関連する問題