HMAC 生成

メッセージと鍵から HMAC 署名を作り、受け取った署名と一致するか照合します。16進と base64 で出します。

ブラウザ内だけで処理無料で利用

受け取った署名と照合

ファイルはサーバーに送信されず、ブラウザ内だけで処理されます。

使い方

登録もインストールも不要、回数制限もなく無料で使えます。

メッセージと鍵を貼り付けてハッシュを選べば署名が出ます。受け取った署名を下の欄に入れると、一致するかを教えます。

webhook 検証の裏にある計算がこれです。Stripe や GitHub をはじめ決済事業者の多くは、リクエスト本文を共有の秘密で署名してヘッダーに載せ、受け取る側は同じ計算をやり直して違えば拒否します。

ただのハッシュとは違います。SHA-256 は誰でも計算できるので、本文を書き換えて新しいハッシュを一緒に送れば済んでしまいます。HMAC は鍵を持つ側だけが作れて、だからこそ出所の証拠になります。

鍵は文字ではなく16進や base64 で渡されることが多いので、表記を別に選べるようにしています。16進の鍵を文字として読むとまったく違う署名になり、コードは正しく見えるのに検証が落ちるよくある原因です。

照合は必ず最後まで見ます。違う桁で打ち切ると、掛かる時間が先頭何文字まで合っていたかを教えてしまい、攻撃者はその差だけで署名を1文字ずつ詰められます。サーバー側も同じやり方で照合してください。

SHA-1 はそれを要求する古いシステムがあるので置いてあるだけです。新しく作るものには使わないでください。

貼り付けた値がサーバーに送られることはありません。ブラウザの Web Crypto で計算します。

あわせてよく使われるツール