4

MD5方式:

客户端:(先申请获得key + secret)

1. 先对参数做排序
2. 将参数串起来,加上secret,这就是待摘要的字符串
3. 用MD5 生成摘要串的签名sigature
4. 将key,signature一并传给服务器

服务端:

1. 用key从数据库获取secret
2. 参数排序,串起来,加上secret
3. 用MD5 生成摘要串
4. 两个串做比较

HmacSHA256方式:

客户端:(先申请获得key + secret)

1. 将请求参数封装成json字符串
2. 使用HmacSHA256算法 + secret 对(url + nonce + body)加密生成摘要 signature
3. 将key和signature

服务端:

1. 用key从数据库中获取secret
2. 获取请求中的body
3. 使用HmacSHA256算法加secret对(url + nonce + body)加密生成摘要 signature
4. 做比较

nonce是递增参数,这样来保证每次请求唯一
原文地址:https://www.cnblogs.com/43726581Gavin/p/9043972.html