HMAC生成器

用文本或文件计算HMAC,支持SHA-256、SHA-512、SHA-1及UTF-8或十六进制密钥。在浏览器中排查API与Webhook签名不一致的问题。

计算
0 个字符
处理结果

处理结果将显示在这里。

如何计算HMAC

  1. 选择接口要求的算法,输入消息或选择文件。
  2. 输入UTF-8文本密钥;若密钥表示的是字节,开启十六进制密钥选项。
  3. 计算并复制十六进制结果。下方示例的密钥为0b重复20次,需开启十六进制模式。

HMAC生成器使用要点

HMAC结合消息和密钥计算消息认证码,双方必须使用相同的字节和算法。密钥应保密,十六进制代表的字节与十六进制字符本身不是同一回事。

HMAC-SHA-256示例:RFC 4231标准测试向量

输入内容
输入内容 Hi There 算法 HMAC-SHA-256 密钥 (密钥为十六进制) 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
处理结果
b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da726e9376c2e32cff7

HMAC生成器常见问题

HMAC就是SHA-256或加密吗?

不是。HMAC使用双方共享的密钥进行消息认证,普通SHA-256没有密钥,两者都不加密消息。结果为小写十六进制:SHA-1为40位,SHA-256为64位,SHA-512为128位。

什么时候勾选十六进制密钥?

当密钥以十六进制字节表示时。此时6162代表ab的两个字节,而不是6162这四个文字字符。请填写完整的字节对,不要加空格或0x前缀。Base64密钥需先解码。

为什么算出的API或Webhook签名不一致?

消息字节、密钥和算法必须完全一致。空格、JSON排版、换行符和UTF-8 BOM都会改变结果。本工具不会自动拼接各平台规定的待签名字符串,也不会将结果转换为Base64。

可以计算文件的HMAC吗?

可以。选中的文件优先于文本,按文件原始字节计算。文本上限为8 MiB,每个文件上限为32 MiB。复现RFC 4231示例时,消息为Hi There,十六进制密钥为0b重复20次。

文件、令牌和文本会上传吗?

不会。这些工具都在您的浏览器中处理输入。网站只提供页面和程序代码,不会把输入发送到转换服务器,也不会保存到账户里。

全部开发者工具

编码与文件转换

在文本、二进制、网址和内嵌图片之间转换,保留原始数据。

数据与文本检查

读懂结构化数据和令牌,清楚查看文本的每一处变化。

哈希、标识符与定时规则

核对文件完整性,生成标识符,转换时间并预览定时任务。

输入内容和文件均在本机处理。请勿将敏感结果留在共享剪贴板中,处理私钥和令牌时请使用可信设备。