ホーム HMAC 生成
HMAC 生成
キーとメッセージを入れると HMAC が出ます。キーは文字、hex、Base64 で、結果は手元の署名とその場で比べられます。
作った理由
Webhook や API の署名は、キーと本文のバイトが同じときだけ一致します。改行ひとつ、前後の空白ひとつで値がまったく変わります。
手元の hex や Base64 を貼ると、いま計算した署名と一致するかすぐ分かります。
-
01使い方
メッセージとキーを入れます。方式と出力、改行を選ぶと署名が出ます。
比較の欄に手元の署名を貼ると、同じか違うかを出します。すべての方式を押すと七つの値が並びます。
-
02出力例
例は文字キー my-secret-key-123 とあいさつのメッセージです。初期の出力は小文字の hex です。
改行、末尾の改行、BOM、前後の空白があると、署名の下に短く知らせます。
入力あいさつ
方式 SHA-256 キー 文字 my-secret-key-123 出力 hex -
03知っておくこと
空のキーでは署名しません。hex のキーは 0-9 と a-f の偶数長だけで、Base64 はデコードできる必要があります。
API でいちばん多いのは SHA-256 です。MD5 と SHA-1 は、古いシステムがまだ求めるときだけ選んでください。
よくある質問
- Qキーとメッセージはサーバへ行きますか?
- A行きません。署名はページの中で計算し、入力は保存しません。
- Qhex と Base64 を一緒に比べられますか?
- A比べられます。出力の設定にかかわらず、比較欄は大文字小文字の hex と Base64 の両方を受けます。
- Q改行を変えると値が変わるのはなぜですか?
- ALF と CRLF はバイトが違います。相手が Windows の改行で署名したなら CRLF を選んでください。
- Qどの方式を選べばよいですか?
- A新しい API は SHA-256 が基本です。合わせる文書に書いてある名前を選んでください。
このページの分け方
このページは SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、MD5、RIPEMD-160 のうち選んだ方式で HMAC を作ります。メッセージのバイトと鍵をその方式に渡します。
鍵は書いたままの文字、16進、または base64 で入れられます。計算した署名は16進と base64 の両方で出ます。改行を LF にするか CRLF にするかで、署名の対象になるバイトが変わります。
比較欄には、すでに受け取った署名を貼って一致するか確かめます。鍵が空、16進の長さが奇数、16進や base64 が壊れているときは誤りです。DES、RC2、MD4 では署名しません。
秘密の鍵とメッセージは、このブラウザの中に置いたまま署名を計算します。鍵を署名サーバへ送らず、比較に貼った署名もこのページの外には保存しません。