HMAC-SHA512ジェネレーター
メッセージと秘密鍵からHMAC-SHA512タグを生成します。両方をUTF-8にエンコードし、SHA-512を使ってRFC 2104のHMAC方式を適用し、512ビットの結果を16進数またはBase64で返します。暗号資産取引所のAPIやHS512トークンなど、API署名方式のテストや、信頼できる参照結果との照合に利用できます。鍵がレスポンスに表示されることはありません。
よくある質問
HMAC-SHA512とは何ですか?
HMAC-SHA512は、SHA-512ハッシュと秘密鍵をRFC 2104のHMAC方式で組み合わせます。メッセージが鍵を知る人から送られ、改ざんされていないことを証明します。タグは64バイト、つまり16進数で128文字です。
既知のHMAC-SHA512テストベクトルはありますか?
RFC 4231のテストケース2では、鍵Jefe、メッセージwhat do ya want for nothing?に対し、164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737が期待されます。このツールはその値を再現します。
HMAC-SHA256ではなくHMAC-SHA512を使うべきなのはどんな場合ですか?
APIやトークン形式で必要な場合に使ってください。たとえば、JSON Web TokensのHS512アルゴリズムが該当します。HMAC-SHA256も十分強力です。SHA-512は主にタグが長く、64ビットマシンでは処理が速いことがよくあります。
入力はどのようにエンコードされますか?
メッセージと鍵はどちらもUTF-8テキストとして扱われます。プロバイダーから渡されたBase64形式または16進数の秘密鍵を先にデコードする必要がある場合、ここでの結果はプロバイダーの結果と異なります。
鍵はどのくらいの長さにすべきですか?
64バイトのランダムなキーはSHA-512の出力サイズに一致し、適切な選択です。128バイトを超えるキーは先にハッシュ化され、非常に短いキーはセキュリティを弱めます。
秘密鍵は非公開に保たれますか?
はい。このリクエストの処理中にメモリ上でのみキーを使用し、レスポンスには含めません。ログにも保存にも残りません。
このツールでJWT署名を作成できますか?
一部は可能です。HS512では、Base64URL形式のヘッダー、ドット、Base64URL形式のペイロードを連結した文字列に署名します。その文字列をメッセージとして貼り付け、Base64形式の出力を選び、+を-に、/を_に置き換えて、末尾の=パディングを削除すると、JWT署名部分を取得できます。
結果が一致しないのはなぜですか?
よくある原因は、メッセージ内の余分な空白や改行、Base64からデコードする必要があるキー、またはhex形式とBase64形式を比較していることです。入力をバイト単位で確認してください。
HMAC-SHA512タグを切り詰めてもよいですか?
一部のプロトコルでは、特定の標準にあるHMAC-SHA512/256のように、タグの先頭部分だけを使います。このツールは常に64バイト全体を返すため、プロトコルの指定に従ってご自身で切り詰めてください。
入力上限は?
1回のリクエストで、メッセージとキーを合わせて最大5 MiBのテキストを使用できます。APIリクエスト本文、トークン文字列、大きなWebhookペイロードにも十分なサイズです。