请求设计到加密,防篡改,防重,请求失效时间
{
"data": //aes加密:加密对象是原始数据
"S2VDW01SOhIYVLaPAHEbY1aG9el3RFes9ITCVi6WR8FU6GPPs1QXJZ0svTs8HZGaNMef/sdONi/oNbG",
"encryptedStatus" : 0, //是否加密 0 未加密 1加密
"timestamp" :"1559025730536",//时间戳毫秒,请求失效有效
"sign" : "ea08a9329549b4bec7156bf29a2a3407"//签名,防篡改
"requestId" : "15590212056037064",//防重,生成原则:随机唯一不重复字符串,熬鹰使用:毫秒时间戳 与 随机数(0到10000) 字符串拼接
}
密钥生成规则:
MD5(时间戳+N==KNT|QJZN2019)
签名规则
sign : md5 [ 请求参数+盐 排序之后的字符串];排序规则:按照key升序,key对应的value按照=,&符号拼接,
服务器返回数据,没有签名和防重
{
"code": "200", //状态码
"msg": "查询成功",
"data": //aes加密:加密对象是原始数据
"S2VDW01SOhIYVLaPAHEbY1aG9el3RFes9ITCVi6WR8FU6GPPs1QXJZ0svTs8HZGaNMef/sdONi/oNbG",//未加密状态 返回json对象
"encryptedStatus" : 0, //是否加密 0 未加密 1加密
}
加载列表数据
{
"token" : "9e100efe04b74261a68beed129336af1",
"version" : "1.10.0",
"pageIndex":"5",
"pageNumber":"20",
"messageId":"5"
}
加载个人信息数据
{
"data": {
"avatarUrl": "http://116.66.49.218:8017/allin/image/2019041617/201904161713356954.jpg",
"birthday": "2017-11-30",
"name": "高山流水",
"phoneNum": "18568537272",
"sex": "男",
"userId": 140,
}
}
熬鹰文件名hash规则
fileName = hash512 [ a + 盐(密钥) ]
client端使用rsa公钥解密,获得aes密钥,然后使用aes密钥解密,获得sever原文
涉及金额的接口
如果修改手机时间,或者修改服务器时间,会导致时间戳失效问题
原文:https://www.cnblogs.com/guligei/p/11264429.html