HMAC生成
SHA-1・SHA-256・SHA-384・SHA-512を使用してメッセージとシークレットキーのHMACをブラウザ内で生成します。
HMAC生成の使い方
- 01
ハッシュアルゴリズムを選択します。
- 02
シークレットキーとメッセージを入力します。
- 03
16進数ダイジェストとして表示されるHMACをコピーします。
キーを使用してメッセージに署名する
SHA-1、SHA-256、SHA-384、または SHA-512 を使用して秘密キーでメッセージに署名し、結果を 16 進ダイジェストとして表示する HMAC ジェネレーター。アルゴリズムを選択し、キーとメッセージを入力して、署名をコピーします。
HMAC が証明するもの
HMAC は、ハッシュベースのメッセージ認証コードの略です。これは鍵付きハッシュです。秘密鍵とメッセージを組み合わせると、メッセージが鍵を保持している誰かによって作成されたことと、送信中に変更されていないことの 2 つのことが同時に証明されます。
単純なハッシュとの違いが重要です。メッセージの SHA-256 は誰でも計算できますが、チェックサムを信頼性の証明に変える正しい HMAC を生成できるのは、共有秘密を持っている人だけです。
HMAC が登場する場所
そのため、Web インフラストラクチャのいたるところにそれが存在します。 Stripe、GitHub、Slack などのサービスからの Webhook は、HMAC を使用して各リクエストに署名するため、サーバーは呼び出しが実際にそれらのサービスからのものであることを確認でき、多くの API も同じ方法でリクエストに署名します。
アルゴリズムの選択
SHA-256 が一般的なデフォルトです。 SHA-384 と SHA-512 はより強力ですが、SHA-1 はレガシーであり、新しいシステムでは避けるのが最善です。
セキュリティメモ
Web Crypto API を使用してローカルで実行されるため、キーとメッセージがアップロードされることはありません。キーは秘密であるため、これは重要です。
よくある質問
HMACとは何ですか?
メッセージがシークレットキーを持つ人物によって作成され、改ざんされていないことを証明するキー付きハッシュです。APIリクエストの署名やWebhookで広く使われています。
シークレットはどこかに送信されますか?
いいえ。HMACはWeb Crypto APIを使ってブラウザ内で計算されるため、キーとメッセージがデバイスの外に出ることはありません。
どのアルゴリズムを使うべきですか?
SHA-256が一般的なデフォルトです。SHA-384とSHA-512はより強力で、SHA-1はレガシーであるため新しいシステムでは避けるのが最善です。