API 签名生成工具

专业的 HMAC 和 MD5 签名生成工具,支持多种哈希算法,适用于 API 签名、数据验证等场景。 所有计算均在本地浏览器执行,密钥字段不写入分享链接。

HMAC 消息认证码
使用密钥和哈希算法生成消息认证码,确保数据完整性和真实性
历史记录

暂无历史记录

分享前请检查消息、URL 和参数中是否含个人信息或令牌。接收方需自行输入密钥后生成签名。

使用说明与应用场景

常见问题

HMAC 和直接用 MD5、SHA256 拼密钥有什么区别?

HMAC 是带密钥的消息认证码,内部把密钥经过 ipad、opad 两次异或后做两轮哈希,专门抵御长度扩展攻击。直接写 md5(密钥 + 数据) 这种拼接写法在 MD5、SHA-1、SHA-256 这类 Merkle–Damgård 结构的算法上是有漏洞的:攻击者即使不知道密钥,也能在你的数据后面追加内容并算出合法签名。做接口签名请一律使用 HMAC,不要自己拼。

API 签名串应该怎么拼?

本工具采用主流开放平台的通行做法:第一行 HTTP 方法(大写),第二行请求路径,第三行是把全部参数按参数名字典序升序排列后用 & 连接的 key=value 串,三行之间用换行符分隔,再对整串做 HMAC。参数排序必须严格一致,这是验签失败最常见的原因。空值参数是否参与签名、URL 是否包含域名,各家平台规则不同,要以对方文档为准。

timestamp 和 nonce 是干什么的,能省掉吗?

不能省。签名本身只能证明请求没被篡改,无法阻止攻击者原样重放一个截获到的合法请求。timestamp 让服务端可以拒绝超出时间窗(通常 5 到 15 分钟)的请求,nonce 是一次性随机串,服务端在时间窗内缓存已用过的值来拦截重复提交。两者要一起参与签名计算,否则攻击者可以随意改写它们。

签名输出该用 Hex 还是 Base64?

取决于对方平台的约定,两者只是同一串字节的不同文本表示,安全性没有差别。Hex 输出长度固定(HMAC-SHA256 为 64 个字符),可读性好,便于日志比对;Base64 更短(44 个字符),常见于 AWS 签名风格和各类云服务。如果验签一直失败而其他参数都确认无误,先检查是不是这一项对错了,以及 Base64 是否需要 URL 安全变体。

HMAC 密钥用多长合适?

建议密钥长度不短于所用哈希算法的输出长度,即 HMAC-SHA256 用 32 字节、HMAC-SHA512 用 64 字节。超过哈希分组长度(SHA-256 为 64 字节)的密钥会先被哈希一次再使用,所以过长没有额外收益。密钥必须由密码学安全随机数生成,不要用有意义的字符串、公司名或时间戳拼出来,也不要在多个环境之间复用同一把。

HmacMD5 和 HmacSHA1 还能用吗?

MD5 和 SHA-1 作为哈希算法都已被攻破(存在实用的碰撞攻击),但 HMAC 结构对碰撞并不敏感,HMAC-MD5 和 HMAC-SHA1 到目前为止仍没有实用的伪造攻击。也就是说存量系统不必紧急停机改造,但新系统应当直接用 HMAC-SHA256。工具保留这两个选项是为了对接遗留接口和排查线上问题。

本地算出来的签名和服务端不一致,怎么排查?

按这个顺序逐项核对:一、签名串的拼接顺序和分隔符(换行符是 \n 还是 \r\n);二、参数是否按字典序排序、空值和嵌套对象如何处理;三、字符编码是否都是 UTF-8;四、输出编码是 Hex 还是 Base64、大小写是否敏感;五、密钥本身是原始字符串还是需要先做 Base64 解码。把双方的「待签名字符串」原样打印出来逐字符比对,通常一眼就能看出差异。

其他工具

哈希值生成工具

专业的哈希值生成工具,支持多种哈希算法,快速生成文件和文本的哈希值。

国密SM加解密工具

专业的国密SM加解密工具,支持SM2、SM3、SM4算法,保障数据安全。

AES 加解密工具

专业的在线AES加解密工具,支持AES-128/192/256位加密,多种加密模式(CBC, ECB, CFB, OFB, CTR)和填充方式。所有加密在本地浏览器完成,安全可靠。

RSA 加密解密工具

专业的RSA工具,支持密钥对生成(1024/2048/4096位)、公钥加密、私钥解密、数字签名与验证。支持RSA-OAEP和PKCS#1填充方案,PEM格式密钥兼容所有主流系统。

JWT 工具

免费在线 JWT 工具,提供 JWT 解析、验证、生成等功能,支持 HS256、RS256 等多种算法,简单易用。

MD5 加密

MD5 是一种广泛使用的密码散列函数,可以产生出一个 128 位(16 字节)的散列值(hash value),用于确保信息传输完整一致。

专业 Base64 编解码

Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法。常用于在 HTTP 环境下传递较长的标识信息。

图片转 Base64

将图片转换为 Base64 编码字符串,用于嵌入 HTML、CSS 或其他基于文本的格式中。

TOTP 验证码生成器

在线生成 2FA 动态验证码,输入 Base32 密钥实时出码并倒计时。支持 SHA-1/256/512、6 或 8 位、30 或 60 秒周期,可生成验证器可扫的 otpauth 二维码,并按 ±N 个时间窗校验验证码。密钥不上传。

UUID 生成器

为您的应用程序生成唯一标识符(UUID)。快速、安全、可靠。

摩斯密码工具

在线摩斯密码编解码工具,支持文本与摩斯密码的相互转换,并提供音频播放功能

邮箱解码工具

在线邮箱解码与编码工具,自动识别 29 种编码方式并逐层还原被混淆的邮箱地址,支持语法校验、风险检测与防采集代码生成。

URL 编码/解码

在线 URL 编码和解码工具,支持对 URL 进行编码和解码。

Unicode 转换工具

在 Unicode 编码、中文字符和英文字符之间进行转换,支持多种转换模式。

这个工具解决你的问题了吗?

    问题反馈