{
"code": 1,
"codeEn": "Success",
"msg": "请求成功",
"randStr": "5YCy-9L6b5VD4vNO_7UVq1",
"requestId": "5438695a-4f53-4971-a64f-b3bb01210731",
"sign": null,
"time": 1766424739444,
"paramNullTest":null,
"data": {
"param1": 1382832,
"param2": 1766426122236,
"param3": "1234567890",
"param4": null
}
}一级且属性值非null且属性名非sign的属性名key和属性值value进行key=value格式拼接,并根据属性名key进行ASCII字典序(升序)排序,具体如下:code=1
codeEn=Success
data={"param1": 1382832,"param2": 1766426122236,"param3": "1234567890","param4": null}
msg=请求成功
randStr=5YCy-9L6b5VD4vNO_7UVq1
requestId=5438695a-4f53-4971-a64f-b3bb01210731
time=1766424739444&连接起来,得到待签名字符串①code=1&codeEn=Success&data={"param1": 1382832,"param2": 1766426122236,"param3": "1234567890","param4": null}&msg=请求成功&randStr=5YCy-9L6b5VD4vNO_7UVq1&requestId=5438695a-4f53-4971-a64f-b3bb01210731&time=1766424739444&appSecret=APP秘钥:eDBMGX9R6AcXcIjc7mN66IMzKUD3KnzodN+7tzwAAO53EFN待签名字符串①拼接得到待签名字符串②,如下:code=1&codeEn=Success&data={"param1": 1382832,"param2": 1766426122236,"param3": "1234567890","param4": null}&msg=请求成功&randStr=5YCy-9L6b5VD4vNO_7UVq1&requestId=5438695a-4f53-4971-a64f-b3bb01210731&time=1766424739444&appSecret=eDBMGX9R6AcXcIjc7mN66IMzKUD3KnzodN+7tzwAAO53EFN待签名字符串②进行求MD5,获得32位小写MD5值,就是签名值:868c4ad016a567a0070a0e92afe7a07esign属性,得到最终JSON数据对象,如下:{
"code": 1,
"codeEn": "Success",
"msg": "请求成功",
"randStr": "5YCy-9L6b5VD4vNO_7UVq1",
"requestId": "5438695a-4f53-4971-a64f-b3bb01210731",
"sign": "868c4ad016a567a0070a0e92afe7a07e",
"time": 1766424739444,
"paramNullTest":null,
"data": {
"param1": 1382832,
"param2": 1766426122236,
"param3": "1234567890",
"param4": null
}
}sign是否正确即可。