首页 HMAC 生成
HMAC 生成
输入密钥和消息就能得到 HMAC。密钥可以是文字、hex 或 Base64,结果也能和已有签名直接比较。
签名
为什么做
Webhook 和 API 的签名只有在密钥和正文的字节一致时才对得上。一个换行或一处多余空格都会让结果完全不同。
把已有的 hex 或 Base64 贴进去,就能马上看出它和刚算出的签名是否相同。
-
01怎么用
输入消息和密钥。选好算法、输出和换行,签名就会出现。
把已有签名贴进比较栏,就能看出是否相同。按下全部算法会一起列出七个值。
-
02结果示例
示例使用文字密钥 my-secret-key-123 和一句问候。默认输出是小写 hex。
如果有换行、结尾换行、BOM 或首尾空格,会在签名下面简短说明。
输入问候
算法 SHA-256 密钥 文字 my-secret-key-123 输出 hex -
03需要知道的事
空密钥不会签名。hex 密钥只能是偶数长度的 0-9 和 a-f,Base64 必须能解码。
API 最常用的是 SHA-256。只有旧系统仍然要求时才选 MD5 或 SHA-1。
常见问题
- Q密钥和消息会离开浏览器吗?
- A不会。签名在页面上计算,输入也不会保存。
- Q可以同时比较 hex 和 Base64 吗?
- A可以。无论当前输出是哪一种,比较栏都接受大小写 hex 和 Base64。
- Q为什么换行方式会改变结果?
- ALF 和 CRLF 的字节不同。对方用 Windows 换行签名时,请选 CRLF。
- Q该选哪种算法?
- A新的 API 默认用 SHA-256。请按文档里写的名字来选。
这一页怎样算出
这一页用 SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、MD5 或 RIPEMD-160 当中选定的算法计算 HMAC。消息的字节和密钥一起交给该算法。
密钥可以按原文、十六进制或 base64 输入。算出的签名同时显示为十六进制和 base64。换行选 LF 还是 CRLF,会改变参与签名的字节。
比较框用来贴上你已经拿到的签名,看它是否一致。空密钥、奇数长度的十六进制、无法解析的十六进制和无法解析的 base64 都是错误。这里不做 DES、RC2 或 MD4。
计算签名时,密钥和消息留在这个浏览器里。密钥不会送到签名服务器,贴进比较框的签名也不会存到这一页以外。换行改成 LF 或 CRLF 之后,十六进制和 base64 两种结果都在这一页上重新计算。