Webhook签名验证工具
输入原始请求体、密钥和收到的签名值,使用浏览器Web Crypto API本地计算HMAC签名并验证是否匹配。全程本地计算,密钥不上传任何服务端。
免费在线工具
Loading…
使用说明
- 选择签名算法:HMAC-SHA256(推荐,GitHub/Stripe/Slack等主流平台)或 HMAC-SHA1(部分老平台)
- 在「请求体」文本框中输入原始 Webhook payload 内容(JSON 字符串)
- 输入你的 Webhook Secret(密钥)
- 输入接收到的签名值(支持 GitHub 格式
sha256=abc123...或纯十六进制字符串) - 点击「验证签名」进行本地对比,或点击「仅计算签名」先查看本地计算值
- 下方展示常用平台的签名格式参考
功能介绍
- 支持 HMAC-SHA256 和 HMAC-SHA1 两种签名算法
- 全程使用浏览器 Web Crypto API 本地计算,Secret 密钥不上传任何服务端、不做任何网络请求
- 兼容 GitHub(x-hub-signature-256)、Stripe、Shopify、Slack 等平台的签名格式
- 自动识别并处理
sha256=/sha1=前缀格式 - 提供常用平台(GitHub/Stripe/Shopify/Slack/支付宝/微信支付)的签名格式参考
- 点击平台标签可自动填入示例 payload 和 secret,方便快速测试
使用场景
Webhook接收端开发调试
在开发Webhook接收服务时,验证自己计算的签名是否与服务商发送的一致,排查签名验证失败问题
GitHub Webhook配置测试
确认GitHub仓库的Webhook Secret配置正确,验证x-hub-signature-256签名格式是否匹配
支付回调验证排错
排查Stripe/支付宝/微信支付等支付平台回调签名验证失败的问题
安全审计与学习
学习HMAC签名原理,理解不同平台的Webhook签名实现方式,确保集成安全
常见问题
密钥会不会被上传到服务器?
不会。本工具全程使用浏览器 Web Crypto API 在本地计算 HMAC 签名,Secret 密钥仅存在于当前页面的内存中,不会通过任何网络请求(fetch/XHR)发送到任何服务端。页面关闭后密钥即销毁。
支持哪些签名格式?
工具自动识别 <code>sha256=HEX_VALUE</code> 和 <code>sha1=HEX_VALUE</code> 格式(GitHub 风格),以及纯十六进制字符串。其他格式(如 Base64)请先手动转为十六进制。
为什么选择HMAC-SHA256而不是HMAC-SHA1?
HMAC-SHA256 是当前主流推荐算法,安全强度高于 SHA1。GitHub、Stripe、Slack 等主流平台均使用 HMAC-SHA256。HMAC-SHA1 仅用于兼容部分老平台。
支付宝和微信支付的签名能用这个工具验证吗?
支付宝和微信支付通常使用 RSA 非对称签名(SHA256withRSA)而非 HMAC,本工具仅支持 HMAC 签名验证。如需验证 RSA 签名需要使用对应的公钥工具。