API权限设计总结

原创
2016-06-13 10:55:21 848浏览

加密方式 md5(POST参数(升序排序,除key sign参数除外) + 用户密钥)

PHP加密算法代码:

[php]

foreach ($p as $v) {

$temp = explode("=", $v);

$pArr[$temp[0]] = $temp[1];

}

ksort($pArr);

foreach ($pArr as $k => $v) {

$pStr2 .= $k . $v ;

}

md5($pStr2 . $secret)

注意:加密的时候,需要将timestamp带上,防止客户端篡改。

客户端,将自己需要传递的参数进行升序排序,然后加上自己key对应的密钥(密钥在服务端数据库中有一份保存,这个是不能对外公开的)进行MD5加密,通过参数sign传递到服务端。

服务端拿到sign值后,对传递过来的参数也进行同样的算法排序,并经过用户的key查询得到密钥,然后进行一次加密算法,得到的服务端的sign和客户端传递过来的sign进行比较,如果相同则表示是可以通过的,如果中途有人篡改数据等,那么最终加密出来的sign就是不一致的,这样保证了用户传递数据的可靠性和安全性。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。