实用工具
输入
结果
结果会显示在这里。Webhook 服务方用 HMAC 给请求签名,而排查验签失败最快的办法,就是手动把期望的签名算出来对一遍。填入完全一致的载荷和共享密钥,然后比较。因为整个过程在页面里完成,密钥不会被传输,密钥和签名也都不会写进你的历史记录。
它是怎么工作的
- 密钥和消息由页面内的 WebCrypto 处理,不会发送到任何地方。
- 输出为十六进制或 Base64,这是 Webhook 服务方使用的两种编码。
- 这次运行的任何信息都不会被保存,连你自己的历史里也没有,因为输入本身就是机密。
你的数据去了哪里
哪也没去。本工具完全在你的浏览器里运行:你粘贴的文本由页面处理,不会传输到任何服务器,也不会写进任何日志。
本工具会接触密钥和凭证,因此任何一次运行都不会被保存,连你自己的历史里也不会有。
它要花多少
单次 20.0 KB 以内免费,无需账号。超出部分每次运行消耗 2 积分,并保存到你的历史记录。
积分来自注册、每日签到、发表评论和完善资料。
了解积分规则常见问题
- 我的签名和服务方对不上,问题出在哪?
- 十次里有九次是消息的字节不一致。请对收到的原始请求体签名——在做 JSON 解析再序列化之前,因为那会重排键顺序并改变空白。同时确认服务方是否在前面拼了时间戳或版本号。
- HMAC 和直接做哈希有什么区别?
- 把密钥和消息拼起来做哈希,攻击者不需要知道密钥就可能做长度扩展攻击。HMAC 的嵌套结构就是为了抵抗这一点,所以所有签名规范用的都是它而不是拼接。
- 把生产环境的密钥粘贴到这里安全吗?
- 计算在本地完成,不传输也不存储。话虽如此,一个已经被粘贴进共享机器浏览器里的密钥,值得轮换一次。
背后的开源项目
本工具是独立实现,并未打包第三方库。brix/crypto-js(MIT)在代码层面做的是同一件事——如果你需要在自己的程序里实现它,从那里开始,而不是调用一个网页。
brix/crypto-js也常被称作
- hmac在线计算
- hmac sha256
- webhook签名验证
- 接口签名生成
- hmac工具