-
Notifications
You must be signed in to change notification settings - Fork 0
签名验签
任霏 edited this page Mar 16, 2020
·
1 revision
为了防止请求被中间人篡改,接口和客户端都应签名和验签
在发送请求需要认证的接口时,将“时间戳(timestamp)、随机字符串(nonce)、令牌(Authorization)“三个参数进行字典排序成一个新的字符串,然后进行SHA1计算,成为签名字段signature,如果时间戳和服务器上的时间相差过大,请求将不被执行。
服务器的响应请求中包含“时间戳(timestamp)、随机字符串(nonce)“两个参数,将两个参数进行字典排序成一个新的字符串,然后进行SHA1计算,结果如果与signature签名字段一致,则为可信。 服务器响应案例:
{
"code": 200,
"message": "Success",
"timestamp": 1584326254,
"signature": "c3697c4c8639219b5602ca926c5af44eb60d8bf9",
"nonce": "zPIC9ugw1a4SyUSd",
"data": null
}