HMAC生成ツール
複数のアルゴリズムでHMACを生成
HMAC生成ツール
HMAC比較
使用例
API認証
REST APIで一般的に使用されるAPIリクエスト認証用のHMAC署名を生成します。
Webhook検証
StripeやGitHubなどのサービスからのHMAC署名を比較してWebhookペイロードを検証します。
JWT署名
JSON Web Token(JWT)ペイロード署名用のHMAC-SHA256署名を作成します。
機能
複数アルゴリズム
HMAC-SHA256、HMAC-SHA384、HMAC-SHA512、HMAC-SHA1アルゴリズムをサポート
HMAC比較
生成されたHMACを期待値と比較してメッセージの整合性を検証
複数出力形式
異なる統合ニーズに対応する16進数またはBase64エンコーディング出力
Web Crypto API
ネイティブWeb Crypto APIを使用した安全なブラウザベースのHMAC生成
使い方
メッセージと鍵を入力
メッセージを入力または貼り付け、秘密鍵を入力してください。
アルゴリズム選択
HMACアルゴリズム(SHA-256、SHA-384、SHA-512、SHA-1)と出力形式を選択してください。
生成してコピー
HMAC生成をクリックして結果をコピーしてください。
よくある質問
HMACとは
HMACはHash-based Message Authentication Code(ハッシュベースメッセージ認証コード)の略です。SHA-256のような暗号学的ハッシュ関数と秘密鍵を組み合わせて、メッセージの整合性と真正性の両方を証明する署名を生成します。単純なハッシュと違い、HMACは秘密鍵を知っている人だけがコードを生成できたことを保証します。だからAPI認証、Webhook検証、JWT署名の基盤なのです。
実際にHMACが使われている場所
Stripe、GitHub、AWSと統合したことがあれば、HMACを使ったことがあります。StripeはWebhookペイロードをHMAC-SHA256で署名し、本当にStripeから来たことを検証できるようにしています。AWSはSignature Version 4でAPIリクエスト署名にHMAC-SHA256を使います。HS256アルゴリズムのJWTは文字通りHMAC-SHA256です。このツールではコードを書かずにこれらの署名を生成・検証できます。
HMAC vs 単純なハッシュ
"hello"のSHA-256ハッシュは誰が計算しても常に同じです。でも"hello"のHMAC-SHA256は秘密鍵ごとに異なります。つまりメッセージが改ざんされていないこと、かつ鍵を知っている人が作成したことの両方を証明します。これが決定的な違いです:ハッシュは整合性を、HMACは整合性プラス認証を提供します。
正しいアルゴリズムの選び方
HMAC-SHA256が業界標準で、特別な理由がない限り使うべきものです。HMAC-SHA384とHMAC-SHA512はより高いセキュリティマージンのために長い出力を生成します。HMAC-SHA1は古いシステムとの後方互換性のためにサポートされていますが、新しい実装では使うべきではありません。
セキュリティとプライバシー
このツールはブラウザ内でWeb Crypto APIを使って完全に動作します - TLSを処理するのと同じ暗号実装です。秘密鍵がサーバーに触れることはありません。オフラインで実行して確認できます。