問題タブ [nacl-cryptography]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5764 参照

javascript - tweetnacl.js からスローされる不正なキー サイズ エラーを回避するために、nodejs (crypto) を使用して 32 バイトの SHA256 ハッシュを生成する方法は?

node.js のcryptoモジュールを使用して、次のような SHA256 ハッシュを生成しています。

今、tweetnaclはエラーをスローします:bad key sizeキーがに渡されるとsecretbox:

secretbox引数は Uint8Array である必要があるため、パラメータは Uint8Array に変換されます。

エラー:は hereとして定義されているため、ここbad key sizeからスローされます。問題は、から返されたキーが32 バイトのサイズではないことです。tweetnaclcrypto_secretbox_KEYBYTES32 crypto

私はSOと関連サイトを検索しましたが、実行可能な解決策を見つけることができませんでしたが、これによれば、16進数に変換されたSHA256ハッシュは次のようになります:

32 個の個別の 16 進数 (または 32 バイト)

node.js を使用してこのエラーを回避するために、32 バイトの SHA256 キーを生成するにはどうすればよいですか? SHA256 ハッシュの生成に何か問題がありますか?