2
自動増分番号のハッシュを作成しています。私はこれを達成しようとしている方法の2つのループ例を作成しました。crypto node.jsライブラリを使用すると、SHA-256ハッシュを複数連続して高速に作成できない
#1が実行されると、最初のハッシュがコンソールに記録され、2番目の繰り返しでループに次のエラーが返されます。エラー:すでに呼び出されているダイジェスト
これは、このドキュメントの参照によるものだと考えています。hash.digest()メソッドが呼び出された後、再度使用することはできません。複数の呼び出しが発生すると、エラーがスローされます。
ノードの暗号ライブラリを使用して一度に複数のハッシュを作成するループを作成するにはどうすればよいですか?
// Reproduce #1
const crypto = require('crypto');
const hash = crypto.createHash('sha256');
for (let i = 0; i < 5; i++) {
hash.update('secret' + i);
console.log(hash.digest('hex'));
}
あなたはノードのバージョンを使用しているあなたはそれを各反復で新鮮なハッシュインスタンスを作成することによって行うことができますか? #1では、あなたの 'for'ループの中で' const hash = crypto.createHash( 'sha256');を移動しなければなりませんでした(インスタンスは再利用できません)。 #2の場合、あなたは 'sha1256'を' sha256'にします –
私はノードv8.1.2を持っています。誤字アラートをありがとう。最初のものは、ドキュメントから違反しているので動作しません。 'hash.digest()メソッドが呼び出されたあと、もう一度Hashオブジェクトを使用することはできません。複数の呼び出しによってエラーがスローされます。 – agm1984
私の目的は、「APIs secret」に基づいていくつかの入力フィールドをハッシュすることに基づいてシリアル番号を作成するメソッドを作成することです。私がこのロジックや何かをそれに遠隔的に置くと失敗します。最初のものは有効なシリアルを作成しますが、それ以降のものは実際にエラーをスローしません。 '.digest()'や '.createHash()'のために無効なシリアルを作成します。 – agm1984