跳到主要内容

HMAC 生成器

HMAC-SHA 系列签名,文本/十六进制密钥,Hex 与 Base64 双输出。

本地计算 · 数据不出浏览器
密钥
0 字符1 行0 B
消息
0 字符1 行0 B

填入密钥与消息后,双格式 HMAC 会显示在这里。

使用说明

这个工具解决什么问题

对接签名接口、核对 Webhook 回调时,需要快速算一个 HMAC 和服务端比对。本地写代码要处理编码与库依赖,在线工具又让人担心密钥安全。这个工具用浏览器 WebCrypto 计算 SHA-1/256/384/512 四种 HMAC,密钥支持文本与十六进制两种解释,输出 Hex 与 Base64 双格式,经 RFC 4231 标准测试向量校验,口径明确可核对。密钥只在内存参与计算,零上传零存储,纯浏览器本地运行。

核心能力

四种算法:SHA-1、SHA-256、SHA-384、SHA-512,覆盖主流签名方案。双口径密钥:文本与十六进制两种解释,贴着服务端实现选。双格式输出:Hex 与 Base64 同时给出,省一次转码。标准校验:实现按 RFC 4231 测试向量核对,算法结果可信。零上传:WebCrypto 本地计算,密钥不落盘不发送。

使用建议

API 联调时把两边的算法、密钥解释、输出编码逐项对齐,再用本工具算一份中间结果比对,能快速定位不一致在哪一侧;核对 Webhook 签名时注意参与签名的原文通常是原始请求体,别先格式化再签。长期使用的密钥建议放在服务端环境变量里,本工具只用于调试核对,不在页面里留存任何数据。

常见问题

密钥的「文本」与「十六进制」解释有什么区别?

同一串字符,按文本解释是当作 UTF-8 字符串编码后作密钥;按十六进制解释是先把 Hex 解成原始字节。两种解释结果完全不同,服务端用哪种你就选哪种,签名对不上的常见原因就在这里。

结果和服务器对不上怎么办?

依次核对四件事:算法是否一致(SHA-256 还是 SHA-1)、密钥解释方式(文本还是 Hex)、输出编码(Hex 还是 Base64)、参与签名的原文是否逐字节相同(末尾换行符也算)。本工具经 RFC 4231 标准测试向量校验,算法本身没问题,差异几乎都出在这些口径上。

密钥会被上传或保存吗?

不会。计算通过浏览器 WebCrypto 在本地完成,密钥只在内存里参与运算,不发起任何网络请求,不写入存储,关掉页面即消失。

什么场景用得上?

典型的是 API 联调:服务端与客户端各自签名,比对两边 HMAC 是否一致,定位是哪边算错了;也常用来核对 Webhook 回调签名是否合法。

API 密钥生成

Hex/UUID/Base64URL/易读四种风格密钥,前缀与熵估算。

哈希计算器

MD5 / SHA-1 / SHA-256 / SHA-512 文本哈希,UTF-8 全支持。

JWT 生成器

HS256/384/512 本地签发测试 JWT,与站内解码器成对验证。

查看更多编解码,或浏览全部工具。