要参与签名的原始报文,一个字都不能差
使用说明
- 填消息内容与密钥,选好算法,结果会自动算出来。
- 结果默认是十六进制。多数服务端比对时不区分大小写,但要求 base64 时要换格式。
- 调接口签名对不上时,先确认三件事:参数顺序、拼接分隔符、是否包含空值参数。
- 密钥在上传的代码里绝不出现——签名的活放在服务端做。
常见问题
HMAC 和普通哈希有什么区别?
普通哈希谁都能算,HMAC 必须知道密钥。所以普通哈希只能证明「内容没变」,HMAC 还能证明「这条消息确实是持有密钥的人发的」——这就是接口签名的原理。
为什么签名总对不上?
九成是拼接细节不一致:参数有没有按字典序排、末尾有没有 &、是否包含空值/签名字段本身、中文有没有做 URL 编码。建议把服务端参与签名的原始字符串也打出来,和这里输入的内容逐字对照。
密钥用中文可以吗?
可以,但要注意编码。本工具按 UTF-8 取密钥字节,如果服务端用的是 GBK 或把密钥当十六进制解析,结果就会不同。稳妥做法是用纯 ASCII 的随机字符串做密钥。
相关工具
开发工具 · 该分类共 125 个工具,展开查看全部
在线 JSON 格式化HTTP 状态码对照表JSON 转 YAMLJSON 转 XMLJSON 转 CSVJSON 转 TypeScript 类型JSON 转 Java 实体类JSON 转 Go 结构体JSON 转 Python 字典JSON 转 SQL 建表语句JSON 转 Markdown 表格JSON 键排序清除 JSON 空值JSON 扁平化JSON 结构分析JSON 字段清单JavaScript 代码美化JSON 压缩JSON 转 ExcelJSON 树形查看JSON Schema 生成YAML 转 JSONYAML 格式化XML 转 JSONJSON 转 C# 实体类JSON 转 PHP 数组JSON 转 Rust 结构体JSON 转 Kotlin 数据类JSON 转 Swift 模型JSON 转 Dart 模型CSV 转 JSONJSON 转 JSONLJSONL 转 JSONXML 格式化SQL 格式化HTML 格式化CSS 格式化PHP 代码格式化Java 代码格式化C# 代码格式化Python 代码格式化Ruby 代码格式化C 代码格式化C++ 代码格式化Perl 代码格式化VBScript 格式化Go 代码格式化Rust 代码格式化Kotlin 代码格式化Swift 代码格式化Scala 代码格式化Lua 代码格式化R 代码格式化XML 压缩SQL 压缩HTML 压缩CSS 压缩JavaScript 压缩SVG 代码压缩PHP 代码压缩Java 代码压缩C# 代码压缩Python 代码压缩Go 代码压缩Rust 代码压缩Kotlin 代码压缩Lua 代码压缩代码去注释MD5 加密SHA1 加密SHA256 加密SHA512 加密国密 SM3 计算HMAC 计算AES 加密解密DES 加密解密RSA 密钥对生成JWT 生成Query String 构建Cookie 解析URL 完整解析文本 Diff 对比代码 Diff 对比三向文本对比HTTP 报文解析版本号比较代码行数统计HTML 与 UBB 互转htaccess 转 NginxXPath 测试工具手机号格式校验邮箱格式校验身份证号码校验银行卡号校验信用卡号校验UUID 批量校验编码批量识别文本编码检测User-Agent 解析浏览器信息检测颜色格式转换颜色对比度检测调色板生成CSS 渐变代码生成Cron 表达式解析Cron 表达式生成正则表达式测试KeyCode 按键码查询Android 按键码查询HTML 转 Markdown文件哈希校验SQL 转 Java 实体类SQL 转 C# 实体类SQL 转 Go 结构体SQL 转 Python 类Markdown 转 HTML随机字符串生成NanoID 生成器UUID 批量生成键盘按键测试WebSocket 在线测试条形码生成Markdown 编辑器Base64 转图片二维码批量生成