java安全性的一种简单思路

关于接口安全性的考虑。这客户端在调用接口时,将acId授权码以加密的方式(可逆加密方式)传递过来,

服务端这边接收后进行解密,然后在服务器端这边的授权名单中进行匹配,判断该授权码是否被授权,从而判断第三方调用的安全。

acId示例:

客户端方

1.第三方接口的授权码为:Sj107181kyy(11位)

2.客户端将授权码进行32位MD5加密:Sj107181kyy->9fa2f84f5e3726088febd6b07f050059

3.加上时间格式为”yyyy-MM-dd”的当前时间:2018-04-04

4.三者结合后反转字符串作为acId:“950050f70b6dbef8806273e5f48f2af940408102yyk181701jS”

服务端方

1.将接收过来的acId进行反转:“Sj107181kyy201804049fa2f84f5e3726088febd6b07f050059”

2.然后取中间的时间和服务端的当前时间对比:20180404

3.取反转过后的前11位授权码和DB授权名单记录的第三方授权码比较:Sj107181kyy

4. 2和3都匹配,则确认第三方授权成功。

posted on 2018-04-07 11:42  手撕高达的村长  阅读(212)  评论(0编辑  收藏  举报

导航