ツール

HMAC ジェネレーター

共有キーでメッセージに署名 — キーはブラウザから離れません。

ブラウザ内で実行ハッシュと暗号化1.6万
無料

入力

0 B20.0 KB まで無料

結果

結果はここに表示されます。

Webhook プロバイダーは HMAC でリクエストに署名します。検証が失敗する原因を最速で特定するには、期待される署名を手動で計算してみるのが一番です。正確なペイロードと共有シークレットを入力して比較してください。この処理はページ内で実行されるため、シークレットが送信されることはなく、キーや署名が履歴に残ることもありません。

動作のしくみ

  • キーとメッセージはページ内の WebCrypto で処理され、どこにも送信されません。
  • 出力は hex または Base64 で、Webhook プロバイダーが使用する 2 つのエンコーディングです。
  • 実行に関する情報は保存されず、入力がシークレットであるため、ブラウザの履歴にも残りません。

データの行き先

どこにも行きません。このツールは完全にブラウザ内で動作します。貼り付けたテキストはページが処理し、サーバーに送信されることも、ログに記録されることもありません。

このツールは鍵や資格情報を扱うため、実行に関する情報は一切保存されません。あなた自身の履歴にも残りません。

必要なポイント

1 回あたり 20.0 KB まではアカウントなしで無料です。それを超える実行は 2 ポイントを消費し、履歴に保存されます。

ポイントは登録、デイリーチェックイン、コメント投稿、プロフィールの記入で貯まります。

ポイントの仕組みを見る

よくある質問

署名がプロバイダーのものと一致しません。何が問題ですか?
ほとんどの場合、メッセージがバイト単位で同一ではありません。JSON のパースや再シリアライズ(キーの並び順や空白が変わる)を行う前の、受信した生のリクエストボディにそのまま署名してください。プロバイダーがタイムスタンプやバージョン文字列を前置するかどうかも確認してください。
HMAC と単純なハッシュの違いは何ですか?
シークレットとメッセージを連結した単純なハッシュは、シークレットを知らない攻撃者によって拡張される可能性があります。HMAC の入れ子構造はそのような攻撃に耐えるように設計されており、そのためすべての署名仕様が連結ではなく HMAC を使用しています。
本番のシークレットをここに貼り付けても安全ですか?
計算はローカルで行われ、送信や保存は一切されません。とはいえ、共有マシンのブラウザに貼り付けたシークレットは、ローテーションを検討すべきものです。

背後にあるオープンソース

このツールは外部ライブラリを同梱しない独自実装です。brix/crypto-js(MIT)はコードとして同じ仕事をします。自分のプログラムで同じことをしたいなら、Web ページを呼ぶのではなくそちらから始めてください。

brix/crypto-js

別の呼び方

  • hmac 生成
  • hmac sha256 計算
  • webhook 署名 検証
  • hmac オンライン
  • api 署名 ジェネレーター