2013-03-13 5 views
5

私はノードにPHPスクリプトを移植していますが、暗号化についてはあまりよく分かりません。PHP hash_hmac(sha512)をNodeJSに変換します

PHPスクリプトは、この機能を使用しています。

hash_hmac('sha512', text, key); 

だから、私はHMAC方式(SHA512)を使用してハッシュを返すためにノードjsファイル内の関数を実装する必要があります。

ノードから見ると、この機能は暗号モジュール(http://nodejs.org/docs/latest/api/crypto.html#crypto_crypto)を介して組み込まれていますが、この機能をどのように再現するかは不明です。

ご協力いただければ幸いです。

ありがとう、

答えて

8

はい、暗号ライブラリを使用します。

var hash = crypto.createHmac('sha512', key); 
hash.update(text); 
var hashed_data = hash.digest(); 

詳細(例えば引数はhash.digestからの出力符号化を制御するために消化する)指定したthe linkです。

ニックが指摘するように、あなたは(すなわちcrypto.createHmacを経由して新しいhashオブジェクトを作成します。)このプロセス全体を行うには、新しい文字列を暗号化するたびに必要になります

+2

ヒントこれを使用しているとき、私はあなただけのことができると思いますハッシュのdigest()メソッドを一度呼び出します。これは、別のハッシュを形成するためにdigest()が続くupdate()を使用できないことを意味します。複数のハッシュを形成する必要がある場合は、crypto.createHmac()を複数回使用する必要があります。 –

+0

はい、これは私が知る限り正しいです。ありがとう、私は私の答えを更新します。 –

関連する問題