← 返回全部工具
UnifyPort 出品

在线生成与校验 HMAC 签名

生成 HMAC-SHA256 签名,与 webhook header 比较,并在浏览器本地定位验签不一致。

校验模式

粘贴已有签名,与上方实时计算的结果进行比较。

粘贴签名后开始校验

为什么 webhook 要使用 HMAC?

Telegram、WhatsApp、Stripe、GitHub 等 webhook provider 会用共享 secret 为请求签名。服务端对完全相同的原始 payload 计算 HMAC,再与签名 header 比较。本工具在浏览器本地复现计算;生产接收端仍应遵循Webhook 投递与签名校验指南

什么时候使用这个校验器?

当验签失败可能来自错误 secret、JSON 被重新序列化、缺少时间戳前缀、算法选择错误或 hex/base64 编码不一致时使用。必须粘贴接收端实际读取到的原始 payload。

常见问题

HMAC 是什么?
HMAC 把密码学哈希函数与共享 secret 组合起来,让发送方在不传输 secret 的情况下证明自己持有它。
Webhook 如何使用 HMAC?
Provider 对原始请求体签名,服务端用同一 secret 重新计算,匹配后才接受请求。
如何正确校验 HMAC 签名?
使用完全相同的原始 payload、secret、算法和输出编码;生产代码还应使用 constant-time 比较。
Payload 和 secret 会上传吗?
不会。计算由浏览器的 Web Crypto API 完成本地处理,不会上传 payload 或 secret。
支持哪些算法?
支持 SHA-1、SHA-256 和 SHA-512;现代 webhook 最常见的是 SHA-256。