签名算法认证

  • sign: 签名字符串(String)。
  • appId: appId(String)。
  • expires: 过期时间 (String)。这个参数的值是一个UNIX时间(自UTC时间1月1号开始的秒数),用于标识该URL的超时时间。如果服务器接收到这个URL请求的时候晚于签名中包含的expires参数时,则返回请求超时的错误。为了安全起见,请尽可能设置一个较短的过期时间,比如10分钟。注意:请确保您的计算机已同步正确的北京时间。
  • appSecret: 应用密钥 (String)。

sign计算方式

  1. 对data中的数据按照key值字典序排序。
  2. 将data数据按”key=value”进行组合(value为空不参与签名,value为对象时,将对象转换成json字符串参与签名,注意要对value内容进行URL编码),多个中间用”&”拼接,在最后拼上”key=appSecret”,注意即使data为空,&也需要加上。
  3. 对拼接好的字符串进行MD5加密,即得到最终的sign值。服务器校验sign会忽略大小写。

举例:

参数如下

sn:150d8b99-19dcde69
expires:1739583239
appId:ym3b7f242fc0814489
appSecret:4d76f4ca87e2403e894ffc745283d769

data数据如下:

"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