メインコンテンツへスキップ
SDETRole
SDETRole

テスト設計・開発ユーティリティ

ハッシュ・HMAC 生成ツール

テキストやファイルの MD5、SHA-1/256/384/512、HMAC を 16 進数か Base64 で。

すべてブラウザ内で動作 登録不要

Text (UTF-8)

0 bytes

Compare (optional)

Hex or Base64. Prefixes such as sha256= (GitHub's X-Hub-Signature-256 header) are accepted.

Digests

Output appears here.

SHA hashes and HMAC use your browser's Web Crypto API. Web Crypto has no MD5, so MD5 is computed by a small implementation in this page that is verified against the RFC 1321 test suite. HMAC-MD5 is not offered.

このツールについて

テスターは、ダウンロードした成果物の検証、ファイルを開かずに比較する、そして最もよくあるのが Webhook の署名を確認するためにハッシュを必要とします。このツールはテキストやローカルファイルの MD5 と SHA ファミリーを計算し、GitHub、Shopify、ほとんどの決済サービスが Webhook に署名するのと同じ方法で、ペイロードに秘密鍵で署名する HMAC モードも備えています。署名ヘッダーの値を比較欄に貼り付ければ、テスト用のペイロードと秘密鍵でそれを再現できるかがすぐにわかります。SHA と HMAC にはブラウザの Web Crypto API を使います。Web Crypto には MD5 がないため、MD5 は RFC 1321 のテストスイートで検証した小さな実装を使っています。ファイルはブラウザ内で読み込まれ、アップロードされることはありません。

使い方

  1. 「Hash」(ハッシュ)か「HMAC」と、入力がテキストかファイルかを選びます。
  2. テキスト(UTF-8 としてエンコード)を貼り付けるか、ファイルを選びます。
  3. HMAC モードでは、アルゴリズムを選び、秘密鍵をテキストか 16 進数で入力します。
  4. 結果を 16 進数か Base64 でコピーするか、期待値を貼り付けて比較します。

ハッシュ・HMAC 生成ツール のよくある質問

Webhook の署名が一致しないのはなぜですか?

ほとんどの場合、ボディが 1 バイト違っているためです。整形された、キーが並べ替えられた、改行コードが変わった、などです。受け取ったとおりの生のリクエストボディに署名し、サービス側がタイムスタンプの接頭辞など追加のデータにも署名していないか確認してください。

MD5 や SHA-1 は安全に使えますか?

セキュリティ目的では使えません。どちらにも現実的な衝突が見つかっています。偶発的な破損の検出やレガシーシステムのテストには問題ありませんが、セキュリティに関わるものには SHA-256 以上を使ってください。

同じテキストなのに別のツールでハッシュが異なるのはなぜですか?

ハッシュはバイト列に対して計算されます。エンコーディングの違い(UTF-8 と UTF-16)、末尾の改行、Windows の CRLF 改行はすべて結果を変えます。このツールはテキスト欄の正確な UTF-8 バイト列をハッシュします。

キーワードを入力すると SDETRole 全体を検索できます。

Pagefind による全文検索 · ブラウザ内で動作します 検索ページを開く →