1、MD5方式
用户需要先在网站上申请key、secret,然后校验流程如下:
客户端:
1.参数排序
2.将参数串接起来加上secret,生成待摘要字符串
3.使用MD5等摘要算法生成摘要串signature
4.将key,signature放入header中一并传给服务器
服务器:
1.参数排序
2.将参数串接起来加上secret(通过header中的key在数据库获取),生成待摘要字符串
3.使用MD5等摘要算法生成摘要串
4.服务端生成的摘要串与客户端通过header传递过来的摘要串进行比较
2、HmacSHA256方式
用户需要先在网站上申请key、secret,然后校验流程如下:
客户单:
1.将请求参数封装成json字符串,也就是请求体body
2.使用HmacSHA256算法加secret对(请求url+nonce+body)加密生成摘要signature
3.将key,signature放入header中一并传给服务器
服务器:
1.获取请求中的请求体body字符串
2.使用HmacSHA256算法加secret(通过header中的key在数据库获取)对(请求url+nonce+body)加密生成摘要signature
3.服务端生成的摘要串与客户端通过header传递过来的摘要串进行比较
注意使用HmacSHA256更加安全,而且我们可以直接将请求参数封装成json字符串放入请求体中(也就是通过io流)进行传递。