在线 HMAC 生成器:文本与文件 HMAC 计算(SHA256、SHA512、SHA3、BLAKE、SM3)

用于 API 鉴权、Webhook 验签、支付签名联调和请求防篡改排查的在线 HMAC 工具。支持文本/文件输入、密钥格式转换、多算法切换和 Hex/Base64 输出,全程本地浏览器计算。

  • 支持 HMAC-MD5、HMAC-SHA1、HMAC-SHA2、HMAC-SHA3、HMAC-Keccak、HMAC-BLAKE2、HMAC-BLAKE3、HMAC-SM3
  • 支持文本消息与文件消息两种签名输入模式
  • 支持文本密钥、Hex 密钥、Base64 密钥并可互转
  • 支持小写 hex / 大写 HEX / Base64 签名输出,方便贴合不同平台协议

HMAC 生成

使用共享密钥生成 HMAC-SHA256、HMAC-SHA512 等消息认证码,用于 API 鉴权、Webhook 验签、请求防篡改和文件签名核对。

HMAC 生成器
24 B
文本
HMAC-SHA256 · 小写 hex
命令
输入类型
算法
密钥格式
输出格式

核心能力

覆盖“签名生成、格式转换、验签排查”完整链路,适合开发联调和线上问题复盘。

  • 多算法 HMAC 计算

    支持 SHA-256、SHA-512、SHA3、Keccak、BLAKE、SM3 等算法,兼顾现代安全需求与历史兼容场景。

  • 消息签名模式

    可对普通文本、JSON 字符串、Webhook 原文、Canonical String 进行 HMAC 计算。

  • 文件 HMAC 计算

    支持本地文件分块签名并显示进度,适合大文件验签与归档完整性验证。

  • 密钥格式切换

    支持文本密钥、Hex 密钥、Base64 密钥互转与校验,降低跨系统对接成本。

  • 多格式输出

    支持小写 hex、大写 HEX、Base64 三种输出格式,适配不同 API、Webhook 与对象存储协议。

  • 本地分块处理

    文本、密钥和文件都在浏览器侧完成计算;大文件按块推进,便于核对完整性又不必交出原始内容。

如何使用 HMAC 生成器

推荐按“输入原文 → 密钥格式 → 算法 → 输出格式 → 对比验签”顺序执行。

  1. 1

    选择输入类型:文本模式适合请求串和 JSON;文件模式适合二进制消息或归档文件验签。

  2. 2

    设置密钥并确认密钥格式(文本 / Hex / Base64),避免因编码误差导致签名不一致。

  3. 3

    选择 HMAC 算法并保持与服务端完全一致,例如 HMAC-SHA256 或 HMAC-SHA512。

  4. 4

    选择输出格式(hex 或 Base64)并复制结果,对比目标系统返回签名。

  5. 5

    若验签失败,优先检查原文是否被改写(空格、换行、字段顺序、URL 编码、时间戳拼接规则)。

重点特性

强调联调可用性和错误可定位性,而不是只给一个签名结果。

  • 支持在线 HMAC-SHA256、HMAC-SHA512、HMAC-SHA3、HMAC-BLAKE3、HMAC-SM3 计算
  • 支持 API 签名字符串、Webhook body、支付回调原文、对象存储签名串计算
  • 支持文本密钥、Hex 密钥、Base64 密钥快速切换与兼容
  • 支持小写 HEX / 大写 HEX / Base64 输出,减少协议格式不一致问题
  • 支持文件分块计算与进度显示,适合大文件签名验证
  • 支持示例消息一键填充,加速联调与测试流程
  • 支持全屏工作区与进度提示,便于长文本、长签名串和大文件调试
  • 所有签名计算均在浏览器本地完成,不上传敏感密钥

常见场景

覆盖接口安全、消息完整性和签名调试中的高频与长尾需求。

  • API 请求签名联调

    复算客户端签名,对比服务端签名,定位字段顺序、编码和拼接问题。

  • Webhook 验签排查

    使用平台回调原文 + 密钥复算签名,验证事件来源与消息完整性。

  • 支付网关签名验证

    对支付回调参数串做 HMAC,排查验签失败与时序问题。

  • 对象存储与 CDN 回源鉴权

    计算资源访问签名串,验证临时授权 URL 的签名是否正确。

实践建议

HMAC 排错的关键不是“重算很多次”,而是确保签名前提一致。

  • 算法、原文、密钥三者必须完全一致,任何一个差异都会导致签名变化
  • 明确原文来源:是原始 body、排序后的 query、还是 Canonical String
  • 统一字符编码(通常 UTF-8)和换行符风格(LF/CRLF)
  • 签名前后避免自动 trim、JSON 重新格式化、URL 自动解码等隐式变更
  • 生产环境密钥不要放前端或日志,线上仅保留必要的脱敏调试信息
  • 在 CI 测试中固定签名样例,防止升级后签名规则漂移

如果只需要校验文件或文本是否被改动,不涉及共享密钥,可以改用 哈希生成 ;如果签名问题来自 Token 的 Header、Payload 或过期时间,则继续查看 JWT 检查器 。当签名原文包含 query、回调地址或 percent-encoding 规则时,先用 URL 编码 & 解码 把字符边界理清,再回到 HMAC 复算,会更容易定位差异。

限制与注意事项

理解这些边界能避免误判工具结果。

  • HMAC 是带密钥摘要,不是可逆加密;它用于完整性与来源校验
  • 本工具不管理密钥生命周期,密钥轮换和托管应在独立安全系统完成
  • 若服务端签名规则包含额外步骤(排序、拼接、URL encode),需在输入原文前自行处理
  • 不同平台对 Base64 变体(标准/URL-safe)可能有差异,需按协议确认
  • 文件签名耗时受本地设备性能与浏览器资源影响

常见问题

围绕使用方式、数据处理、结果判断和常见边界,整理使用前最容易遇到的问题。

01

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

最常见原因是原文拼接顺序、编码、换行符、密钥格式或输出格式不同。先逐项核对这些前提。

02

Hex 密钥和文本密钥有什么区别?

文本密钥会按字符编码成字节;Hex 密钥是已编码字节串。两者同样显示“abc”时,真实字节可能不同。

03

什么时候用 Base64 输出?

当目标协议或平台要求 Base64 签名时使用;若只要求十六进制摘要,请使用 hex 输出。

04

文件会上传吗?

不会。文件在浏览器本地分块计算 HMAC,不会主动上传到服务器。

05

HMAC-SHA256 和 SHA256 一样吗?

不一样。HMAC-SHA256 是“密钥 + 消息”的认证摘要;SHA256 是无密钥摘要,不能直接替代 HMAC 验签场景。

继续浏览更多安全工具

你还可以使用 Hash 生成器做无密钥摘要,使用 JWT 检查器进行 Token 解码验签,或使用密码生成器创建高强度口令。