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 签名。
—
签名
请输入消息和密钥。
使用方法
- 粘贴消息与密钥。
- 选择密钥编码(UTF-8 最常见;Stripe、GitHub 用 UTF-8,AWS SigV4 用派生 hex 密钥)。
- 选择算法与输出格式——结果实时更新。
常见问题
- 用哪种算法?
- 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 后与期望签名比较。为安全应用常量时间比较,浏览器的 `===` 并非如此。
相关主题指南
相关工具
哈希生成器 (SHA)
根据文本生成 SHA-1、SHA-256、SHA-384 和 SHA-512 哈希。
开发 0 0
文件哈希 (校验和)
计算任意文件的 SHA-1、SHA-256 和 SHA-512 校验和。
文件 0 0
JWT 生成器
用 Header 与 Payload 构建并签发 HS256 / HS384 / HS512 JWT——与 JWT 解码器配套。
开发 0 0
Conventional Commit 提交信息生成器
在浏览器中生成包含类型、范围、破坏性变更和脚注的 Conventional Commits 提交信息。
开发 0 0
JSON 转 Protobuf 模式转换器 (proto3)
在浏览器中将 JSON 对象转换为带类型字段和嵌套消息的 proto3 .proto 模式。
开发 0 0
UUID v5 生成器
根据命名空间和名称生成确定性的、基于命名空间的 UUID(版本 5,SHA-1)—— 相同输入始终产生相同的 UUID。
开发 0 0