HMAC生成ツール

テキストと秘密鍵からHMAC値を生成します。SHA-1 / SHA-256 / SHA-384 / SHA-512に対応。

入力データはブラウザ内で処理されます
データはサーバーへ送信されません

変換ツール

0 文字

またはファイルをドラッグ&ドロップ

0 文字

HMACとは?

HMAC(Hash-based Message Authentication Code)は、秘密鍵とハッシュ関数を組み合わせたメッセージ認証コードです。 データの改ざん検知と送信者の認証を同時に実現できるため、API署名・Webhookの検証・セキュリティトークンの生成など、幅広い用途で利用されています。

主な用途

  • API署名検証: AWS Signature Version 4などのAPIリクエスト認証
  • Webhook検証: GitHubやStripeのWebhookペイロードの正当性確認
  • セッショントークン: ユーザー認証トークンの署名
  • データ整合性確認: データが転送中に改ざんされていないことの検証

使い方

  1. 入力欄にHMACを生成したいテキストを入力します。
  2. 秘密鍵(シークレットキー)を入力します。
  3. アルゴリズム(HMAC-SHA256など)と出力形式(16進数 / Base64)を選択します。
  4. 「生成する」ボタンをクリックするとHMAC値が表示されます。
  5. 「コピー」ボタンでクリップボードにコピーできます。

よくある質問

HMACとは何ですか?

HMAC(Hash-based Message Authentication Code)は、秘密鍵とハッシュ関数を組み合わせたメッセージ認証コードです。データの改ざん検知と送信者の認証を同時に行えます。APIの署名検証やWebhookの正当性確認などで広く使われています。

SHA-256とSHA-512のどちらを使うべきですか?

セキュリティ強度を優先する場合はHMAC-SHA256以上を推奨します。HMAC-SHA256は現在最も広く使われており、実用上十分な強度があります。HMAC-SHA512はより強力ですが、出力が長くなります。特別な理由がない限りHMAC-SHA256が標準的な選択肢です。

秘密鍵はどのように選べばよいですか?

秘密鍵は推測されにくい十分な長さのランダムな文字列を使用してください。短い鍵や辞書に載っている単語は安全ではありません。セキュリティ要件が高い場合は、暗号学的に安全な乱数生成器で生成した32バイト以上の鍵を使用することを推奨します。

データはサーバーに送信されますか?

いいえ、すべての処理はブラウザ内のWeb Crypto APIを使用して行われます。入力テキストも秘密鍵もサーバーへ送信されることはありません。

HMAC値が毎回同じになるのはなぜですか?

HMACは決定論的なアルゴリズムです。同じ入力テキストと同じ秘密鍵からは、常に同じHMAC値が生成されます。これにより送信側と受信側で同じ計算を行い、値が一致するかどうかでメッセージの正当性を検証できます。