セキュリティ

HMAC 生成ツール

API 認証、Webhook 署名検証、決済コールバックの調査、リクエスト改ざんチェックに使える HMAC 署名ツールです。テキストとファイルの入力、鍵形式の切り替え、複数アルゴリズムの HMAC、Hex / Base64 出力に対応しています。

  • HMAC-MD5、HMAC-SHA1、HMAC-SHA2、HMAC-SHA3、HMAC-Keccak、HMAC-BLAKE2、HMAC-BLAKE3、HMAC-SM3 に対応
  • メッセージ文字列とファイル payload のどちらにも署名できます
  • テキスト鍵、Hex 鍵、Base64 鍵を切り替えながら扱えます
  • lower hex、UPPER HEX、Base64 の署名出力に対応し、API や Webhook ごとの形式に合わせられます
工具/HMAC 生成ツール
24 B
テキスト
HMAC-SHA256 · lower hex
HMAC-SHA256 · lower hex
コマンド

概要

署名の生成から、署名不一致の原因調査まで、HMAC まわりの一連の確認作業を 1 つの画面で進められます。

  1. 01

    複数アルゴリズムの HMAC

    SHA-256、SHA-512、SHA3、Keccak、BLAKE、SM3、レガシー互換の選択肢を、同じインターフェースで切り替えられます。

  2. 02

    メッセージとファイルに署名

    通常テキスト、JSON payload、Webhook の raw body、canonical string、ローカルファイルに対して HMAC を計算できます。

  3. 03

    ファイルを分割して HMAC 計算

    大きなファイルはブラウザ内で分割処理し、時間がかかる処理でも進捗を確認できます。

  4. 04

    鍵形式の切り替え

    テキスト鍵、Hex 鍵、Base64 鍵を扱えます。見た目の文字列ではなく、実際のバイト列が一致しているかを確認しやすくなります。

  5. 05

    柔軟な出力エンコード

    lower hex、UPPER HEX、Base64 で署名を出力でき、API、Webhook、ストレージサービスごとの署名仕様に合わせられます。

  6. 06

    ローカル分割処理

    テキスト、secret、ファイルはブラウザ内で計算されます。大きなファイルも元 payload を外部へ渡さず、ローカルで処理します。

使い方

署名対象、鍵のバイト列、アルゴリズム、出力形式の順にそろえてから、期待値と比較するのが基本です。

  1. 01

    入力タイプを選びます。canonical string や request body にはテキストモード、バイナリ payload の署名にはファイルモードを使います。

  2. 02

    Secret key を入力し、計算前に鍵形式(テキスト / Hex / Base64)が正しいことを確認します。

  3. 03

    バックエンドや連携先プラットフォームが指定している HMAC アルゴリズムを正確に選びます。

  4. 04

    出力形式(Hex または Base64)を選び、生成された署名をコピーしてサーバー側の期待値と比較します。

  5. 05

    検証に失敗した場合は、まず payload の正規化、フィールド順、エンコーディング、改行コード、timestamp の組み立てを確認してください。

詳細

単発の digest 出力ではなく、実際の署名検証フローで使いやすいように作っています。

  • HMAC-SHA256、HMAC-SHA512、HMAC-SHA3、HMAC-BLAKE3、HMAC-SM3 をオンラインで生成できます
  • API 署名文字列、Webhook payload、決済コールバック検証、署名付き URL の確認に使えます
  • テキスト / Hex / Base64 の鍵を、バイト列として一貫した形で扱えます
  • プラットフォームごとの署名仕様に合わせて、lower hex、UPPER HEX、Base64 を選べます
  • ファイル HMAC は分割処理され、進捗表示とキャンセルに対応しています
  • サンプル payload をワンクリックで入力でき、連携確認やデバッグをすぐ始められます
  • 長い payload、署名文字列、ファイル確認にも使いやすい全画面ワークスペースと進捗表示を備えています
  • 鍵のプライバシーと社内デバッグを考え、計算はすべてブラウザ内で行います

活用シーン

API セキュリティ、外部サービス連携、署名不一致の調査でよく使う確認作業に向いています。

  1. API 認証のデバッグ

    リクエスト署名を再計算し、フィールド順、エンコーディング、canonicalization の違いを切り分けられます。

  2. Webhook 署名検証

    受け取った raw callback payload に再署名し、送信元の正当性と payload の完全性を確認できます。

  3. 決済ゲートウェイ連携

    プロバイダーごとの署名ルールに合わせて、リクエスト署名やコールバック署名を検証できます。

  4. 署名付き URL とストレージアクセス

    オブジェクトストレージや CDN のアクセス制御で使われる canonical string の署名を生成・確認できます。

関連情報

共有 secret を使わず、テキストやファイルが変わったかだけを確認したい場合は、 ハッシュジェネレーター を使ってください。Token の header、payload、有効期限、署名構造に関する問題なら、続けて JWT インスペクター を確認できます。署名対象に query string、callback URL、パーセントエンコードのルールが含まれる場合は、HMAC 署名を再計算する前に URL エンコーダー・デコーダー でバイト境界を確認しておくと安全です。

使い方のヒント

HMAC 検証の成否は、バイト単位で同じ入力を作れているかに強く依存します。

  • アルゴリズム、raw message bytes、secret key bytes をサーバー実装と必ずそろえてください
  • 署名対象が raw body、ソート済み query string、canonical string のどれなのかを明確に定義してください
  • 署名前に UTF-8 エンコーディングと改行コードの扱いをそろえてください
  • JSON の再整形、trim、自動 URL デコードなど、暗黙の変換を避けてください
  • 本番の署名鍵をフロントエンドコード、ログ、スクリーンショットに出さないでください
  • 依存ライブラリやフレームワークの更新で挙動が変わっていないか確認できるよう、CI に署名テストベクトルを固定しておくと安心です

制限事項

HMAC の役割を正しく理解しておくと、セキュリティ上の期待を取り違えにくくなります。

  • HMAC は鍵付きの完全性確認と送信元確認の仕組みであり、復号できる暗号化ではありません
  • このツールは鍵のライフサイクル、ローテーション、安全な保管を管理しません
  • サーバー側の署名処理に独自の正規化ステップがある場合は、その入力を完全に再現してから計算してください
  • Base64 には標準形式と URL-safe 形式の違いがあるため、連携先プロトコルの仕様を確認してください
  • 大きなファイルの署名にかかる時間は、手元の端末性能とブラウザの利用可能リソースに左右されます

よくある質問

使い方、データの扱い、結果の確認、実務上の制限について、よくある質問をまとめました。

HMAC がサーバーの結果と一致しないのはなぜですか?

原因の多くは、canonical string、エンコーディング、フィールド順、鍵の解釈、出力形式のどれかがサーバー側と違っていることです。

テキスト鍵と Hex 鍵は何が違いますか?

テキスト鍵は文字列としてエンコードされます。Hex 鍵は明示的なバイト列を表します。同じ見た目の文字列でも、実際のバイト列は別になることがあります。

Hex ではなく Base64 で出力するのはどんなときですか?

連携先の仕様に従ってください。Webhook 系では Base64 を期待することが多く、API gateway では Hex を使うこともよくあります。

HMAC 計算中にファイルはアップロードされますか?

いいえ。ファイルはブラウザ内で分割処理され、ローカルで計算されます。

HMAC-SHA256 と SHA256 は同じですか?

違います。SHA256 は鍵なしのハッシュです。HMAC-SHA256 は secret key とメッセージを組み合わせ、真正性の確認に使います。

関連ツール

鍵なしの digest にはハッシュ生成ツール、token のデコードや検証には JWT インスペクター、認証情報の強化にはパスワード生成ツールが使えます。