HMAC を生成してメッセージの真正性を検証する
メッセージのキー付きハッシュ(HMAC)を計算して、秘密鍵を共有する相手から送られたことを証明し、受け取った HMAC を検証します。
- 1
HMAC は秘密鍵とハッシュ関数を組み合わせて、整合性と真正性の両方を証明するタグを生成します。同じ鍵を持つ人だけがタグを生成・検証できます。Webhook、API 署名、JWT HS256 で使われています。
- 2 HMAC ジェネレーター →
メッセージと秘密鍵を入力し、ハッシュアルゴリズム(SHA-256 推奨)を選択します。ツールは HMAC タグを hex または Base64 で出力します。
- 3 hmac-generator
署名と検証のチェーンを使います。メッセージに署名し、正しいメッセージと改ざんされたメッセージの両方で検証して、成功/失敗を一度に確認します。
- 4
受信した Webhook を検証する際は、生のリクエストボディに対して共有シークレットで HMAC を再計算し、定数時間で比較してください。== はタイミング攻撃に対して脆弱なので、決して使わないでください。
よくある質問
- HMAC と電子署名の違いは?
- HMAC は共有秘密鍵を使います。送信者と受信者の両方が署名できるため、鍵を持つ相手に対してのみ真正性を証明します。電子署名は非対称鍵を使い、秘密鍵の保持者だけが署名でき、公開鍵を持つ誰もが検証できます。
- HMAC にはどのハッシュアルゴリズムを使うべきですか?
- SHA-256 が現代のデフォルトです。SHA-1 は非推奨ですが、HMAC-SHA1 は依然として安全と考えられています(HMAC の構造が SHA-1 の衝突の弱点を防ぐため)。新しいシステムでは MD5 ベースの HMAC を避けてください。
このタスクを解決するワークフロー
関連ツール
HMAC ジェネレーター
Generate HMAC (Keyed-Hash Message Authentication Code) with SHA-1/256/512。無料、プライベート、100%クライアントサイド。 ツール
ハッシュ計算ツール
Compute MD5, SHA-1, SHA-256, or SHA-512 hashes with hex or Base64 output。無料、プライベート、100%クライアントサイド。 ツール
ハッシュ比較ツール
Compare MD5, SHA-1, SHA-256, SHA-384, SHA-512 of the same input。無料、プライベート、100%クライアントサイド。 ツール