签名算法认证
- sign: 签名字符串(String)。
- appId: appId(String)。
- expires: 过期时间 (String)。这个参数的值是一个UNIX时间(自UTC时间1月1号开始的秒数),用于标识该URL的超时时间。如果服务器接收到这个URL请求的时候晚于签名中包含的expires参数时,则返回请求超时的错误。为了安全起见,请尽可能设置一个较短的过期时间,比如10分钟。注意:请确保您的计算机已同步正确的北京时间。
- appSecret: 应用密钥 (String)。
sign计算方式
- 对data中的数据按照key值字典序排序。
- 将data数据按”key=value”进行组合(value为空不参与签名,value为对象时,将对象转换成json字符串参与签名,注意要对value内容进行URL编码),多个中间用”&”拼接,在最后拼上”key=appSecret”,注意即使data为空,&也需要加上。
- 对拼接好的字符串进行MD5加密,即得到最终的sign值。服务器校验sign会忽略大小写。
举例:
参数如下
sn:150d8b99-19dcde69
expires:1739583239
appId:ym3b7f242fc0814489
appSecret:4d76f4ca87e2403e894ffc745283d769data数据如下:
"data":
{
"pageNum": 1,
"pageSize": 10,
"isAsc": "asc",
"orderByColumn": "createTime",
"wheres": {
"name": "",
"typeId": 1,
"remark": ""
}
}第一步:对data中的数据按照key值字典,得到:
"data":
{
"isAsc": "asc",
"orderByColumn": "createTime",
"pageNum": 1,
"pageSize": 10,
"wheres": {
"name": "",
"typeId": 1,
"remark": ""
}
}第二步:将data数据按”key=value”进行组合,多个中间用”&”拼接,在最后拼上”key=appSecret”得到:
注:
1、value为空不参与签名,value为对象时,将对象转换成json字符串参与签名,注意要对value内容进行URL编码
2、当data为空的时候,也需用”&”拼接”key=appSecret”
isAsc=asc&orderByColumn=createTime&pageNum=1&pageSize=10&wheres=%7B%22remark%22%3A%22%22%2C%22name%22%3A%22%22%2C%22typeId%22%3A1%7D&key=4d76f4ca87e2403e894ffc745283d769第三步:对拼接好的字符串进行MD5加密,得到:
37e31a907d156dd807dd867e8aa957ad作者:yrh 创建时间:2026-06-05 14:05
最后编辑:yrh 更新时间:2026-06-05 14:28
最后编辑:yrh 更新时间:2026-06-05 14:28