HMAC 生成ツール

SHA-1・SHA-2・SHA-3 を使い、メッセージと秘密鍵から HMAC を計算し、期待値と照合して検証し、16進数または Base64 で出力します。すべてブラウザ内で完結。

ツールを読み込み中…

HMAC 生成ツールメッセージと秘密鍵を入力し、SHA-1・SHA-256・SHA-384・SHA-512 または SHA-3 系を選ぶと、対応する HMAC 署名を即座に取得でき、入力に合わせてリアルタイムに更新されます。鍵を UTF-8・16進数・Base64 として解釈し、結果を小文字/大文字の16進数か Base64 で出力し、期待値を貼り付けて一定時間比較で検証できます。すべてローカルで実行され(SHA-2 は Web Crypto API、SHA-3 はブラウザ内の WebAssembly)、メッセージと鍵がブラウザの外に出ることはありません。

HMAC 生成ツールとは?

HMAC ジェネレーターは、任意のテキストメッセージと共有秘密鍵から、鍵付きハッシュメッセージ認証コード(HMAC)を計算できる無料のオンラインツールです。Web Crypto API を通じて SHA-1・SHA-256・SHA-384・SHA-512 に対応し、さらに SHA-3 系(SHA3-224・SHA3-256・SHA3-384・SHA3-512)にも対応し、署名を小文字または大文字の16進数か Base64 で出力します。鍵は UTF-8 テキスト・16進数・Base64 バイトとして解釈でき、期待する HMAC を貼り付ければ検証モードになり、タイミング攻撃に強い一定時間比較で照合します。開発者は Webhook ペイロードの署名、API リクエスト署名の生成と検証、改ざん検出用トークンの生成、別システムの署名と値が一致するかの確認などに利用します。署名はどのフィールドを編集してもリアルタイムに再計算され、すべてブラウザ内で動作します。よく検索されるキーワードには「hmac sha256 generator」「hmac sha3」「hmac base64」「hmac verify online」などがあります。

HMAC 生成ツールの使い方

  1. 署名したいメッセージを入力ボックスに入力するか貼り付けます。
  2. 共有秘密鍵を入力し、「オプション」で UTF-8・16進数・Base64 のどれかを選びます。
  3. ハッシュアルゴリズム(SHA-1・SHA-256・SHA-384・SHA-512 または SHA-3 系)をドロップダウンから選びます。
  4. 出力を16進数と Base64 で切り替え、必要なら「オプション」で16進数の大文字出力を切り替えます。
  5. 自動更新される HMAC を確認してコピーをクリック、または期待する HMAC を検証欄に貼り付けて一致を確認します。

使用例

16進数の HMAC-SHA256

入力

メッセージ: The quick brown fox
鍵: secret
アルゴリズム: SHA-256
エンコーディング: 16進数

出力

7a284e5025f32a846fa3e6957d10278eb5726dd4e0b04c8e0259defcd2cd0eb1

同じ入力を Base64 で

入力

メッセージ: The quick brown fox
鍵: secret
アルゴリズム: SHA-256
エンコーディング: Base64

出力

eihOUCXzKoRvo+aVfRAnjrVybdTgsEyOAlne/NLNDrE=

署名の検証

期待する HMAC を検証欄に貼り付けると、計算した署名と一致したときに一致と表示されます。比較は一定時間で行われ、16進数は大文字小文字を区別せず照合します。

よくある質問

対応しているハッシュアルゴリズムとエンコーディングは何ですか?
SHA-1・SHA-256・SHA-384・SHA-512(Web Crypto API 経由)と SHA-3 系(SHA3-224・SHA3-256・SHA3-384・SHA3-512)です。署名は小文字/大文字の16進数か Base64 で表示され、鍵は UTF-8・16進数・Base64 として解釈できます。
メッセージや秘密鍵はどこかにアップロードされますか?
いいえ。HMAC は100% クライアントサイドで計算されます(SHA-2 は Web Crypto API、SHA-3 はブラウザ内の WebAssembly)。メッセージも秘密鍵もサーバーに送信されることは一切ないため、実際の鍵でも安全に使えます。
検証モードはどのように動作しますか?
期待する値を検証欄に貼り付けると、計算したばかりの HMAC と一定時間アルゴリズムで比較します。途中で処理を打ち切らないため、比較時間から不一致の位置が漏れることはありません。16進数は大文字小文字を区別せず照合します。
秘密鍵はどのように扱われますか?
既定では鍵は UTF-8 テキストですが、「オプション」で16進数や Base64 に切り替えると、バイナリ鍵を正確にデコードできます。鍵フィールドはパスワード入力なので画面ではマスクされ、保存される作業スペースの状態からも除外され、ブラウザ内でのみ使われます。
なぜ私の HMAC は別のツールと違うのですか?
HMAC はメッセージのバイト列・鍵のバイト列・選んだハッシュに正確に依存します。末尾の空白、異なるアルゴリズム、16進数と Base64 の違い、16進数の大文字と小文字の違い、鍵エンコーディングの違いはすべて結果を変えます。

関連ツール