← 返回全部工具
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。