1 回のメッセージと鍵の入力から HMAC-SHA256、HMAC-SHA512、HMAC-SHA384、HMAC-SHA1 を同時に計算するので、出力を比較したり用途に合ったものを選んだりできます。
入力に合わせて HMAC が即座に更新されます。ボタンを押す必要はありません。異なる鍵やメッセージの組み合わせをすばやく試したい API 署名のデバッグや webhook 検証に便利です。
小文字の 16 進数と Base64 の出力をワンクリックで切り替えられます。ほとんどの API(AWS、Stripe、GitHub)は 16 進数を使い、一部は Base64 を使います。どちらの形式も同じ HMAC 値を表します。
すべての HMAC 計算はブラウザの Web Crypto API を使用します。メッセージと秘密鍵がデバイスの外に出ることはありません。実際の本番鍵で API 署名を計算しても安全です。
HMAC(ハッシュベースメッセージ認証コード)は、メッセージの整合性と真正性の両方を検証する仕組みです。暗号学的ハッシュ関数(SHA-256 など)と秘密鍵を組み合わせ、固定長の署名を生成します。同じ秘密鍵を持つ人だけが同じ HMAC を再現できます。
HMAC-SHA256 は API リクエストの署名(AWS Signature v4、Stripe webhook、GitHub webhook など)、JWT 署名の検証(HS256)、WebSocket 接続の認証、cookie の保護に使われます。最も広く導入されている HMAC の種類です。
いいえ。単なるハッシュ(SHA-256 など)は誰でも計算でき、真正性を証明できません。HMAC には秘密鍵が必要なため、その鍵を共有する当事者だけがコードを計算・検証できます。このため HMAC は認証に適しており、単なるハッシュは整合性やチェックサムに使われます。
署名したい要素(メソッド、パス、タイムスタンプ、ボディのハッシュなど)を連結して正規文字列を作り、その文字列に対して API 秘密鍵で HMAC-SHA256 を計算します。得られた 16 進数または Base64 の値を Authorization ヘッダーに含めます。ほとんどの API ドキュメントに正確な正規文字列の形式が記載されています。