YourTools.
English
返回目录
工具

HMAC 消息认证码

使用 MD5、SHA-1、SHA-2、SHA-3 或 SM3 以密钥计算文本的 HMAC;密钥单独输入,不随工作流保存。

本地处理

文件只在当前浏览器处理;关闭或清空后不保留。

输入文本

输入或粘贴要处理的文本

调整设置

可调整算法、密钥格式、输出格式

HMAC 消息认证码

开始处理

在本机浏览器中处理,可随时取消

请先输入文本

工具介绍

用密钥计算文本的 HMAC,例如许多接口和 Webhook 要求的 HMAC-SHA256 签名。服务器提示签名错误时,可以自己对完全相同的字符串签名来排查;收到 Webhook 时,也可以用它核对签名。

支持基于 MD5、SHA-1、SHA-2、SHA-3 和 SM3 的 HMAC。密钥可以是文本、十六进制或 Base64,结果可输出为十六进制或 Base64。最多处理 1 MB,在浏览器中完成,文本和密钥不上传,密钥也不随工作流保存。

使用步骤

  1. 在“文本”中填入待签名的内容,在“密钥(不随工作流保存)”中填入密钥;也可以点击“使用示例”载入示例请求串和密钥。
  2. 选择“算法”(默认 HMAC-SHA256)和“密钥格式”。
  3. 选择“输出格式”:十六进制小写、十六进制大写或 Base64。
  4. 点击“运行”,预览结果并下载为 hmac.txt。

格式与限制

输入
文本
输出
纯文本
大小上限
1 MB
可调设置
算法;密钥格式(文本、十六进制、Base64);输出格式(十六进制小写、十六进制大写、Base64)
隐私
文本与密钥只在当前浏览器会话中处理,不上传;密钥作为输入提供,不会随工作流或配方保存。
费用
免费,无需注册

常见问题

为什么算出的 HMAC 和服务器的不一致?

待签名内容必须逐字节相同:检查空格、换行、参数顺序和 URL 编码。文本按 UTF-8 计算,“文本”框里的所有内容都参与计算,包括末尾的换行。

密钥格式什么时候选十六进制或 Base64?

服务商以十六进制或 Base64 提供密钥,并要求先解码再使用时,选择对应的格式;否则按“文本(UTF-8)”使用。同样的字符按不同格式解析,得到的密钥不同,HMAC 也就不同。

密钥里的空格和换行会保留吗?

密钥末尾的一个换行会被去掉,因为它几乎不会是密钥的一部分;空格等其他字符都会保留。

结果该选十六进制还是 Base64?

两者是同一组字节的不同写法,所以正确的 HMAC 在两种格式下看起来完全不同。按接口文档选择即可;这里的 Base64 使用标准字母表,末尾带 = 填充。

HMAC 和把密钥与文本拼起来再哈希一样吗?

不一样。HMAC 按固定的结构把密钥分两次混入计算,结果与对“密钥 + 文本”直接计算 MD5 或 SHA-256 不同。只需要普通哈希时,请使用“哈希摘要(MD5 / SHA / SM3)”。