AZ Tools

HMAC 生成器(SHA-1 / 256 / 384 / 512)

开发

为消息与密钥用 SHA-1·256·384·512 生成 HMAC 签名。密钥可用 UTF-8、Base64 或 Hex 编码——当密钥以其他格式保存时很有用。输出 hex 或 Base64。全部计算在浏览器 `crypto.subtle.sign` 完成,绝不外传。常用于验证 Stripe、GitHub、Shopify、Slack 的 webhook 签名。

签名

请输入消息和密钥。

使用方法

  1. 粘贴消息与密钥。
  2. 选择密钥编码(UTF-8 最常见;Stripe、GitHub 用 UTF-8,AWS SigV4 用派生 hex 密钥)。
  3. 选择算法与输出格式——结果实时更新。

常见问题

用哪种算法?
HMAC-SHA256 是现代默认——Stripe、GitHub、Shopify、AWS SigV4 都用。新代码避免 SHA-1(虽对 HMAC 攻击仍安全,但缺乏未来性)。
为什么需要密钥编码?
有些 API 把密钥以 Base64 或 Hex 提供。当作 UTF-8 处理会得到与服务器不一致的签名。按已发布的密钥编码匹配。
hex 与 Base64 输出有讲究吗?
每个 API 期望特定格式——GitHub 要 `sha256=` 前缀的 hex,Stripe 也是 hex,Slack 也是 hex,AWS 同样。Base64 出现在某些自定协议中。
能验证签名吗?
间接——计算 HMAC 后与期望签名比较。为安全应用常量时间比较,浏览器的 `===` 并非如此。

相关工具