HMAC ジェネレーター
SHA-256・SHA-384・SHA-512でHMAC署名を生成。Hex/Base64出力対応。ブラウザ完結、データ送信なし。
使い方
- 認証したいメッセージを入力します。
- 秘密鍵を入力します。
- アルゴリズム(SHA-256・SHA-384・SHA-512)を選択します。
- 出力形式(HexまたはBase64)を選択します。
- Generate HMACをクリックして結果をコピーします。
主な用途
- Webhook検証:Webhookペイロードが信頼できる送信元から署名されていることを確認。
- APIリクエスト署名:秘密鍵自体を送信せずにAPIリクエストの真正性を証明。
- データ完整性:メッセージにHMACを添付し、受信者が改ざんされていないことを確認できるようにする。
- セッショントークン:改ざん防止のセッション識別子を生成。
FAQ
HMACとは何ですか?
HMAC(ハッシュベースメッセージ認証コード)は、暗号ハッシュ関数と秘密鍵を組み合わせたメッセージ認証コードです。データの完整性とメッセージの真正性を同時に検証するために使用されます。
データはサーバーに送信されますか?
いいえ。このツールはすべての暗号処理にブラウザ内蔵のWeb Crypto API(SubtleCrypto)を使用します。メッセージや秘密鍵はブラウザの外に出ません。
どのアルゴリズムを選べばよいですか?
SHA-256は最も広く使われており、ほとんどの用途に適しています。SHA-384とSHA-512はより大きなセキュリティマージンを提供しますが、出力が長くなります。3つともHMACでの使用には安全とされています。
HexとBase64出力の違いは何ですか?
どちらも同じHMACバイナリ値を異なるテキスト形式でエンコードしたものです。Hexは16進数文字(0-9, a-f)を使用し長め。Base64はより短くHTTPヘッダー(AuthorizationなどJ)やJSONでよく使われます。
Webhookの署名検証に使えますか?
はい。多くのサービス(GitHub、Stripe、Slackなど)はHMAC-SHA256でWebhookペイロードに署名します。生のペイロードをメッセージ、サービスのWebhookシークレットをキーとして入力し、結果を署名ヘッダーと比較してください。