签名算法认证

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