Heim  >  Artikel  >  Backend-Entwicklung  >  API权限设计总结_PHP教程

API权限设计总结_PHP教程

WBOY
WBOYOriginal
2016-07-14 10:09:22903Durchsuche

加密方式 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]] =...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn