通信しない

HMAC生成ツール(HMAC-SHA256をブラウザで計算)

HMAC SHA256 生成 をこの場で実行できるHMAC 計算 ツールです。キーや入力内容は送信・保存しません。

テキスト/Hex/Base64の入力、Hex/Base64の出力に対応。ブラウザ標準の暗号APIで安全に計算します。

ローカル計算 保存しない Hex・Base64対応

入力と出力

このページは送信せず、ブラウザ内だけで計算します。

通信しない
入力形式

※API仕様どおりの“バイト列”が重要です。キーがバイナリの場合はHex/Base64で入力してください。

入力形式
出力長: 32 bytes(SHA-256)
オプション

OSやコピペで改行コードが変わると結果も変わります。

API署名は“完全一致”が前提のため、基本はそのままがおすすめ。

使い方

署名 HMAC 作り方 の基本は次の3ステップです。

  1. 1 キーを入力(API仕様がバイナリなら Hex / Base64 を選択)
  2. 2 メッセージを入力(署名対象の文字列・payload)
  3. 3 出力形式(Hex / Base64)を選んでコピー

HMACは“文字列”ではなく“バイト列”で計算されます。同じ見た目でも、文字コード・改行コード・余分な空白が違うと結果も変わります(UTF-8前提)。

例(検算用テストベクター)

「例を読み込む」で入力欄に反映できます。

例1
キー(テキスト/UTF-8)
secret
メッセージ(テキスト/UTF-8)
message
HMAC-SHA256(Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256(Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
例2
キー(テキスト/UTF-8)
key
メッセージ(テキスト/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256(Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256(Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

よくある落とし穴

改行コードの違い(LF/CRLF)

改行の扱いが変わると結果も変わります。

トリム(前後の空白削除)

署名は完全一致が前提のため、空白を削除すると一致しないことがあります。

Base64URLの表記

Base64URLは +→-、/→_、=省略が一般的です。仕様を確認してください。

キーの扱い(テキスト vs バイナリ)

例: deadbeef を“文字列”として入れる vs “バイト列 0xDE 0xAD…”として入れる。

補足

HMACとは

秘密鍵とメッセージから署名を作る仕組みです。第三者は同じ鍵がないと同じ結果を作れません。

SHA-256との違い

SHA-256は「ハッシュ」、HMACは「秘密鍵つきハッシュ(署名)」です。

利用シーン

API署名、Webhook検証、リクエスト改ざん検知などで使われます。

FAQ

キーは保存される?

保存しません。このツールはブラウザ内で計算し、キーやメッセージをサーバーへ送信しません。(※念のため、共有PCでは入力後にリセットしてください)

Base64/Hexどっち?

どちらも使われます。出力形式を選択できます(Hex / Base64 / Base64URL)。APIの仕様に合わせて選んでください。

文字コードは?

文字コード UTF-8 前提です。テキスト入力はUTF-8としてバイト列化して計算します。バイナリを扱う場合は Hex / Base64 入力を使ってください。

HMACとSHA-256ハッシュの違いは?

SHA-256は「ハッシュ」、HMACは「秘密鍵つきハッシュ(署名)」です。キーが一致しない限り同じ結果を作れません。

出力が合いません

多くは (1)キーの扱い(テキスト vs バイナリ)(2)改行 (3)空白 (4)Base64URL が原因です。上の落とし穴を順に確認してください。