問題タブ [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.
javascript - tweetnacl.js からスローされる不正なキー サイズ エラーを回避するために、nodejs (crypto) を使用して 32 バイトの SHA256 ハッシュを生成する方法は?
node.js のcryptoモジュールを使用して、次のような SHA256 ハッシュを生成しています。
今、tweetnaclはエラーをスローします:bad key size
キーがに渡されるとsecretbox
:
secretbox
引数は Uint8Array である必要があるため、パラメータは Uint8Array に変換されます。
エラー:は hereとして定義されているため、ここbad key size
からスローされます。問題は、から返されたキーが32 バイトのサイズではないことです。tweetnacl
crypto_secretbox_KEYBYTES
32
crypto
私はSOと関連サイトを検索しましたが、実行可能な解決策を見つけることができませんでしたが、これによれば、16進数に変換されたSHA256ハッシュは次のようになります:
32 個の個別の 16 進数 (または 32 バイト)
node.js を使用してこのエラーを回避するために、32 バイトの SHA256 キーを生成するにはどうすればよいですか? SHA256 ハッシュの生成に何か問題がありますか?