HMAC生成器

調試Webhook簽名、API鑒權時,輸入消息與金鑰即可得到SHA系列HMAC,支持Hex與Base64輸出。

阅读完整指南: JWT安全入門:解碼、驗證與常見誤區 →

隱私提示:本地解析,不上傳伺服器。

↓ 在下方輸入區貼上內容,結果會立即顯示

消息与密钥

输入消息和共享密钥,HMAC 会随内容实时更新。

密钥
算法
输出格式

輸出結果

HMAC 结果

0e8d0d54851504630d2d9d46e991b6c226f66812a81416f7d4ae95d5193e345e

註釋說明

HMAC 说明

HMAC 用密钥对消息做认证摘要,常用于 API 签名与 Webhook 校验。密钥请勿泄露或硬编码在客户端。

調試Webhook簽名、API鑒權時,輸入消息與金鑰即可得到SHA系列HMAC,支持Hex與Base64輸出。

快速開始

  1. 輸入消息與金鑰

    金鑰為空時不輸出結果。

  2. 選擇算灋與格式

    推薦SHA-256; MD5/SHA-1僅用於相容舊系統。

常見場景

GitHub、Stripe等Webhook使用HMAC校驗請求體完整性。

典型工作流

當開發需要驗證消息完整性的功能時,HMAC生成器能快速驗證簽名是否匹配。 例如在接收Webhook時,複製服務端發送的原始消息和金鑰,生成HMAC後與請求頭中的簽名對比,即可判斷請求是否被篡改。

調試API鑒權時,先將本地生成的HMAC與檔案示例比對,確認算灋一致。 再替換為自己的測試數據,檢查服務端響應。 此過程無需編寫臨時腳本,適合快速反覆運算調試。 注意金鑰需與對方保持一致,SHA256為最常見算灋。

Webhook 验签

Stripe、GitHub、Slack webhook 用 HMAC-SHA256 对 raw body 签名。本工具复现 digest 对照文档;注意 body 必须 byte-identical(含空格、key order)。json-formatter 会改变 body——验签用原始 bytes。

密钥放 header(X-Signature)而非 body。泄露 HMAC secret 等于允许伪造请求——轮换 secret 并审计日志。

安全

勿在浏览器工具输入生产 webhook secret。用 staging secret 或假 key 学习流程。

配合 hash-generator 对比「错误 secret 的 digest」与官方示例。

示例

示例

Input

message=Towalles, secret=secret-key, SHA-256

Output

Hex digest

FAQ

與hash-generator區別?

雜湊無金鑰; HMAC需要共亯金鑰,可防篡改且需保密金鑰。

為什麼生成的HMAC與服務端不一致?

常見原因包括:1)金鑰不一致,檢查是否有空格或編碼差异; 2)消息處理管道不同,比如是否去除分行符號; 3)算灋選擇錯誤,確認雙方使用相同雜湊演算法; 4)輸出格式問題,Hex和Base64結果不同但等效。

支持哪些算法?

常见 HMAC-SHA256/512;以工具界面选项为准。

hex 还是 base64 输出?

对接方文档指定;Stripe 等常用 hex。

body 要排序 JSON key 吗?

除非文档要求 canonical JSON;多数 webhook 用 raw body。

secret 上传吗?

否,本地计算。