HMAC / Webhook 签名调试器

在浏览器本地生成并比对 Webhook 签名。

请只在你可控制的设备粘贴测试 secret 或脱敏 payload;生产 secret 应留在服务端。本页只做本地字节签名比较,不确认 provider 来源或服务端接受状态。

期望签名或 Header 值(可选) · 收到的签名 Header
Header ready 输出
···
Hex · Base64
Hex
···
Base64
···
脱敏调试报告
脱敏调试报告
···
HMAC 调试边界

原始 body

Stripe、Slack、Paddle、Razorpay 等流程通常必须用 JSON/body parser 运行前捕获的 raw body;重新序列化、空白或换行变化都会改变签名。

时间戳与重放

时间戳提示只按本浏览器时钟估算,不能证明服务端时钟、重放窗口或 provider 接受状态正确。

本地比较边界

签名匹配只表示本地字节、secret、算法和配方得到同一 digest;不是 provider 来源确认、重放保护、服务端接受状态或合规结论。

脱敏报告

报告默认省略 raw secret、raw payload、签名 header 文本、完整签名和完整 message id,适合交接排障事实。

服务端验证

生产验证应在服务端保管 secret,使用官方库或常量时间比较,并单独处理幂等、时间窗口和错误日志。