morekits.com
内容工具NEW图像工具NEW时间工具HOT金融财务工具HOTWeb & 开发者工具实用工具
morekits.com

免费、隐私优先的在线工具,涵盖内容、时间、金融与网络任务。快速、安全,100% 在浏览器中完成。

分类

内容工具图像工具时间工具金融财务工具Web & 开发者工具实用工具参考手册

热门工具

文本比较复利计算器时间转换世界时钟提前还款计算器数字金额转中文大写WiFi 二维码生成器图片加水印LPR 利率清单国家代码货币代码

更多

教学指南全部工具标签更新日志

© 2026 morekits.com. All rights reserved.

关于我们法律条款联系我们
  1. 教学指南
  2. 如何计算 HMAC 签名
Web & 开发者工具

如何计算 HMAC 签名

用共享密钥签署 API 请求、调试 Webhook 载荷,并按 Stripe / GitHub / AWS 风格用正确的 HMAC 算法与摘要格式校验。

MoreKits 团队
2026-01-12
10 分钟阅读
如何计算 HMAC 签名
相关工具

与本篇教程搭配使用的更多工具:

  • HMAC
  • Hash
  • 参数签名
  • 编解码
  • 文本转义
  • URL 解析

为什么这个工具重要

Webhook 是云服务回调你的方式:Stripe 在支付入账时回调;GitHub 在发布切割时回调。为证明消息真实,发送方用共享密钥对正文计算 HMAC 并放在头里。若校验永远失败,你无法判断是密钥错、算法错,还是正文被代理改过。并列展示的 HMAC 工具配合输入预览,能把调试循环从几小时缩短到几分钟。

三个真实场景

后端开发
在本地校验 Stripe Webhook 签名

粘贴载荷、密钥与时间戳;计算 HMAC-SHA-256;与 Stripe-Signature 头比对。

Webhook 处理逻辑可上线

集成工程师
对外调用合作方 API 时签名出站请求

构造规范化字符串,用共享密钥 HMAC,再放入请求头。

接口接受请求

安全审计
复现厂商对已知样本的期望签名

使用厂商样例输入计算并比对;不一致则说明文档有误。

文档得到验证

操作演练

打开 HMAC 生成器。

  1. 1

    粘贴消息

    即被签名的确切字节 —— 通常是原始 HTTP 正文。注意空白差异。

  2. 2

    粘贴密钥

    字符串默认按 UTF-8 解释。若厂商下发二进制密钥,勾选「密钥为 hex」或「密钥为 Base64」。

  3. 3

    选择哈希算法

    SHA-256 是现代默认;旧系统仍有 SHA-1;SHA-512 少见但支持。

  4. 4

    选择输出格式

    十六进制(小写)最常见于头字段。Base64 用于 AWS Sig V4 等若干 API。

  5. 5

    与收到的签名比对

    从头里粘贴签名值;工具会逐字符高亮匹配与否。

复现文档中的 Stripe 风格签名

输入

Message:  t=1731234567.{"id":"evt_123","type":"payment_intent.succeeded"}
Secret:   whsec_abc123xyz
Algorithm: SHA-256

HMAC-SHA-256 hex

4ed7a40c1e1f9c0bba9d7c1f24eb44a3f0bd06d0c81bd5d4a7f6cf52a6f00f1e
HMAC 工具展示消息、密钥、算法下拉与输出校验
调整输入时实时重算签名。

实用技巧

  • 签名前先 diff 正文。 大量 Webhook 失败源于代理在正文末尾多加了一个换行。签名覆盖的是确切字节 —— 最后一个 \n 也算数。
  • 服务端务必做常量时间比较。 这是你代码的职责,不是签名工具的。浏览器工具可做明文比对是因为数据不离页。
  • 轮换密钥不停服:短时间允许两把密钥都有效。用工具分别算出两把密钥下的签名,确认新密钥无误后再停用旧密钥。
  • 把你的规范化字符串写进文档。 AWS Sig V4 等要把方法、路径、头与正文哈希按特定规则拼接;用手工在工具里复算一次可验证公式。

常见陷阱

常见误区

差在一个末尾换行

IDE 里的正文末尾有 \n,线上发出的没有。签名前去空白 —— 但要与对方校验逻辑完全一致地去。

常见误区

密钥被当成错误编码

有些厂商把密钥以 Base64 字符串分发;HMAC 必须用解码后的字节,而非 ASCII 字符。按文档切换输入编码。

常见误区

UTF-8 BOM 藏在正文里

载荷若以 EF BB BF 开头会改变哈希。若签名老是差一点对不上,用十六进制视图打开源数据排查。

不适合用本工具的情况

  • 公钥签名(RSA、ECDSA、Ed25519) — 需要另一类校验器。参见 如何在线校验数字签名。
  • 对称加密 — HMAC 只认证,不加密。若同时要保密与认证,请考虑 AES-GCM。
  • 口令存储 — 永远不要用 HMAC 存口令,请用慢 KDF。

常见问题

密钥短于分组长度怎么办?

HMAC 内部会处理,你无需手动填充密钥。

应该在 JSON 格式化之前还是之后签名?

始终在规范化形态固定之后签名。若签名后又改格式,签名会失效。

会上传服务器吗?

不会。HMAC 在浏览器内通过 WebCrypto 计算。

延伸阅读

  1. 若协议要求先 body_hash 再 HMAC,可先用 哈希生成器 单独哈希正文。
  2. 构建完整请求签名:参数签名工具。
  3. 解码 JWT 片段可借助 编解码工具 —— HS 前缀算法使用 HMAC。

准备好体验了吗?

立即开始使用该工具,体验其强大功能。