受信した本文を保つ
JSONの整形やキーの並べ替えは署名対象を変えてしまいます。末尾の改行やBOM、Unicodeの表現も確認してください。
- テキスト欄で保持できないバイトはHexかBase64で渡します。
Hash & Crypto Helpers
本文と鍵のエンコーディングを選び、署名の生成または受信したダイジェストの検証を実行します。
本文と鍵はこのページのメモリーだけで処理し、送信やブラウザーストレージへの保存は行いません。
空白削除や正規化は行いません。複数行の鍵はHex/Base64で入力し、参照値には接頭辞を付けないでください。
本文は1,000,000 UTF-16単位かつバイトまで。鍵は4,096 UTF-16単位までで、空は不可。
鍵を入力して生成または検証してください。本文は空でも構いません。
HMAC生成は、APIやwebhookの署名がサーバー側と一致しないときの確認に使えます。アルゴリズムだけでなく、本文と鍵がどのバイト列として扱われるかを揃えてください。
このHMACジェネレーターはHMAC-SHA256を初期選択にし、SHA-512とSHA-1にも対応します。HMAC署名検証の前に、サービスの仕様に従って署名対象の文字列を準備します。
HMAC生成では鍵のエンコーディングを本文とは別に指定します。文字列の6162は4バイト、Hexの6162は2バイトです。同じ見た目でも、選んだ形式によって署名に使う鍵が変わります。
期待するダイジェストを入力すれば、生成を先に押す必要はありません。現在の本文と鍵を使い、形式エラー、長さエラー、正しい形式での不一致を分けて表示します。
JSONの整形やキーの並べ替えは署名対象を変えてしまいます。末尾の改行やBOM、Unicodeの表現も確認してください。
そのままの文字はUTF-8、16進数のバイト列はHex、符号化された鍵は標準Base64を選びます。鍵は初期状態で非表示です。
出力形式と期待するダイジェストの形式は独立しています。生成と検証は手動で実行し、入力や設定を変えるとコピーが無効になります。
SHA-256は32バイト、SHA-512は64バイト、SHA-1は20バイトの完全なダイジェストを返します。SHA-1は既存の仕組みとの互換性確認用です。
UTF-8、Hex、標準Base64から選択できます。Hexの大文字と小文字は同じバイトを表しますが、Base64では大文字と小文字に意味があります。出力はHexまたはBase64です。
Web CryptoのHMACで署名と検証を実行します。一致は指定された本文と鍵の組み合わせに対する結果であり、時刻の有効性やリプレイ対策を確認するものではありません。
通常のハッシュは本文から計算しますが、HMACは共有の秘密鍵も使います。鍵を本文の前後につなぐだけではHMACになりません。本ツールは定義されたHMAC構造を標準APIで計算します。
送信元の仕様どおりに署名対象のバイト列を準備し、ヘッダーから取り出したダイジェストを入力してください。タイムスタンプの結合、ヘッダー解析、期限やリプレイの確認は別途必要です。
鍵が文字列か、HexまたはBase64で表したバイト列かを仕様書で確認します。HMAC生成の出力形式は参照値と別に選べるので、Hex出力とBase64参照値でも同じバイトを照合できます。
HMAC-SHA256はメッセージ認証に使われますが、鍵の管理やプロトコル側の検証も必要です。ここで一致しても、受信時刻、送信元の権限、再送の可否まで保証されるわけではありません。
このページはSHA-256、SHA-512、SHA-1に範囲を限定しています。MD5とSHA-3、SHA-384は選べません。相手が別の方式を指定しているときは、似た名前のアルゴリズムで代用しないでください。
解決しませんでしたか?