HMAC生成ツール
メッセージと秘密鍵から、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA3-256、SHA3-512、RIPEMD-160のいずれかを使ってHMAC(ハッシュベースのメッセージ認証コード)を生成します。16進数またはBase64で出力でき、期待されるHMACとの照合もできます。
入力
鍵はUTF-8テキストとして扱われます。
16進数の比較は大文字・小文字を区別しません。Base64は区別します。
出力
期待されるHMACを入力した場合にのみ表示されます。
このツールを使う他の方法
REST API
curl -X POST https://api.iotools.cloud/v1/tool/hmac-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputText": "The quick brown fox jumps over the lazy dog",
"secret": "key",
"algorithm": "sha256",
"outputFormat": "hex",
"expectedHmac": ""
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `hmac-generator` tool (HMAC Generator) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/hmac-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="HMAC生成ツール — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| API/MCP 1回あたりの費用 | 5クレジットから |
|---|---|
| クレジットが足りませんか? | 料金を見る |
次の方法でも利用可能
ガイド
任意のメッセージと秘密鍵から、ブラウザ上で直接HMAC(ハッシュベースのメッセージ認証コード)を生成します。ハッシュアルゴリズムを選び、16進数またはBase64の出力を選択してください。手元に期待される値がある場合は貼り付けるだけで、一度の操作で検証できます。
HMACとは?
HMACは鍵付きの暗号学的チェックサムです。誰でもメッセージだけから再計算できる通常のハッシュとは異なり、HMACは秘密鍵も組み込むため、その鍵を知っている当事者だけがコードを生成または検証できます。RFC 2104で定義されており、メッセージが真正(鍵の保持者から送られた)であり、かつ改ざんされていない(伝送中に変更されていない)ことを証明する標準的な方法です。
HMACは至る所で使われています。APIリクエストの署名(AWS Signature、Stripe、GitHub、Slackのwebhookなど)、TLS内の完全性保護、JWTのHS256/HS512トークン、パスワードベースの鍵導出(PBKDF2はHMACをもとに構築されています)などです。
このツールの使い方
- 認証したいメッセージを入力します。
- 秘密鍵を入力します。UTF-8テキストとして扱われます。
- ハッシュアルゴリズムを選びます(SHA-256が一般的な初期値です)。
- 出力形式を選びます。小文字の16進数、大文字の16進数、またはBase64です。
- 出力欄に表示された計算結果のHMACを読み取ります。必要に応じてコピーまたはダウンロードしてください。
既に持っている値を確認するには、期待されるHMAC欄に貼り付けると、「一致」または「不一致」が表示されます。16進数の比較は大文字・小文字を区別しません。Base64は区別します。
すべての処理はブラウザ内でローカルに行われます。メッセージと秘密鍵がサーバーに送信されることはありません。
どのアルゴリズムを選ぶべきですか?
連携先のシステムが期待するものに合わせてください。特に指定がなければ、HMAC-SHA256が現代の標準的な選択肢であり、適切です。SHA-384とSHA-512はより長いコードを生成します。SHA3-256とSHA3-512は、より新しいKeccakベースのファミリーを使用します。
MD5、SHA-1、RIPEMD-160は、古いシステムとの互換性のためにのみ提供されています。HMACは弱いハッシュの上に構築されていても比較的堅牢ですが、新しい用途にはこれらを選ばないでください。
よくある質問
HMACはハッシュと同じものですか?
いいえ。ハッシュはメッセージのみを受け取りますが、HMACはメッセージと秘密鍵を受け取ります。同じメッセージを持つ2人は同じハッシュを得ますが、HMACを再現できるのは鍵も知っている人だけです。
他のツールと結果が違うのはなぜですか?
最も一般的な原因は鍵のエンコードです。このツールは鍵をUTF-8テキストとして扱います。鍵を16進数またはBase64のバイト列として読み込むツールでは、見た目が同じ文字でも異なる結果になります。メッセージ内の改行コード(\nと\r\n)や末尾の空白も出力を変えます。
webhookの署名検証に使えますか?
はい。アルゴリズムを提供元に合わせ(通常はSHA-256)、署名シークレットを鍵として、生のリクエストボディをメッセージとして入力します。そのうえで、結果を署名ヘッダーと期待されるHMAC欄で比較してください。
秘密鍵をここに貼り付けても安全ですか?
計算はすべてブラウザ内で完結し、何も送信されません。このツールの共有リンクにメッセージや鍵が含まれることもありません。ただし、自分で管理していないコンピューター上では、本番環境の機密情報をどのWebツールにも貼り付けないようにしてください。