Webhook署名の検証に使う
外部サービスから送られるWebhookでは、本文とシークレットからHMACを計算し、ヘッダーの署名と比較する方式がよく使われます。実装結果の確認やテストデータ作成に便利です。
メッセージとシークレットキーから HMAC(Hash-based Message Authentication Code)を計算。Webhook 署名検証・API シグネチャ生成・JWT署名等で使用します。 ブラウザの SubtleCrypto API で計算され、データはサーバーに送信されません。
💡 HMACについて
HMAC Generator は、メッセージと秘密鍵から HMAC SHA-256 などの署名を生成するツールです。Webhook署名、API認証、リクエスト改ざん検知の検証に使えます。
メッセージと秘密鍵はブラウザ内で処理され、secutilsのサーバーへ送信されません。
外部サービスから送られるWebhookでは、本文とシークレットからHMACを計算し、ヘッダーの署名と比較する方式がよく使われます。実装結果の確認やテストデータ作成に便利です。
通常のハッシュは入力だけから値を計算しますが、HMACは秘密鍵も使います。そのため、同じ本文でも秘密鍵が異なれば署名も変わります。
作る前は、ハッシュもHMACも「入力データから固定長の文字列を作り、それを比較して改ざんを確認するもの」くらいの理解でした。調べていくと、通常のハッシュは誰でも同じ入力から同じ値を計算できるのに対し、HMACは秘密鍵を知らないと正しい署名を生成できないという違いが重要だと分かりました。例えばWebhookで単純に本文をSHA-256でハッシュ化するだけだと、攻撃者も同じ本文から正しいハッシュ値を計算できてしまいますが、共有秘密鍵を使ったHMACなら第三者は正しい署名を作れません。実際にツールへ入力して比較してみたことで、ハッシュは「データが変わっていないかの確認」、HMACはそこに「秘密鍵を持つ正当な送信者かどうか」を加えたもの、という理解に変わりました。「HMACはハッシュの強いやつ」ではなく、そもそも目的が違うと分かったのが一番の収穫です。
作業の流れに近いツールへすぐ移動できます。