>  기사  >  백엔드 개발  >  API权限设计总结_PHP教程

API权限设计总结_PHP教程

WBOY
WBOY원래의
2016-07-14 10:09:22939검색

加密方式 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就是不一致的,这样保证了用户传递数据的可靠性和安全性。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477694.htmlTechArticle加密方式 md5(POST参数(升序排序,除key sign参数除外) + 用户密钥) PHP加密算法代码: [php] foreach ($p as $v) { $temp = explode(=, $v); $pArr[$temp[0]] =...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.