HMAC 是在普通哈希(MD5、SHA 这些)基础上加了一个密钥的算法。光算哈希,谁都能算出来,但加了密钥之后,只有知道密钥的人才能算出正确结果。所以它常用来做两件事:一是接口签名,服务端和客户端约定一个密钥,双方各自算一遍,对上了就说明请求是真的、没被篡改;二是验证数据来源,确认消息确实是从有密钥的那方发出来的。这个小工具就是帮你算这个的——文本加密钥进去,六种 HMAC 值一起出来。
主要功能
输入文本和密钥
上面两个输入:一个填要签名的文本内容,一个填密钥。密钥是双方约定好的,比如 mysecretkey。文本和密钥都要填,不然算不出来。
选择字符编码
同一段文本和密钥,用不同字符编码算出来的结果不一样。工具里可以选编码,常用的有 UTF-8、UTF-16LE、UTF-16BE、GBK、GB18030、BIG5,还能展开选更多其他编码。一般用默认的 UTF-8;如果对方系统用 GBK,那双方都得用 GBK 才能对上。
六种算法一次算全
点"立即计算",下面会同时列出六种结果:
HMAC-MD5:32 位十六进制,老场景还在用
HMAC-SHA1:40 位,一些老接口还在用
HMAC-SHA224:56 位,用得相对少
HMAC-SHA256:64 位,现在最常用的签名算法
HMAC-SHA384:96 位,安全性更高
HMAC-SHA512:128 位,最高安全等级
结果统一显示成大写,方便对照。
一键复制
每个结果右边都有"复制"按钮,点一下就把对应的值复制走。
请求频率限制
接口对请求频率有限制,算得太频繁会提示稍后再试。
适合谁用
做接口对接的人,对方要求用 HMAC-SHA256 签名的,用它能快速算出签名值来对照;调 API、排查签名错误的人,看看自己算的和对方算的是不是一致;做安全测试的人,验证接口有没有正确校验签名;学加密知识的人,一次看到六种 HMAC 的结果,也能对比着理解不同哈希算法的区别。
用起来什么感觉
界面很简洁:上面填文本、填密钥、选编码、点按钮,下面列出六行结果。每种算法一行,左边标着名字,中间是值,右边是复制按钮,一目了然。文本框和密钥框分开,不容易填错地方。手机上输入框和按钮加宽加高,手指点着方便。按钮大、字清楚。不需要安装,打开网页就能使,用完关掉就行。