PHP加密解密
<p>apiKey 秘钥</p>
<p>/**</p>
<ul>
<li>生成加密请求数据</li>
<li>@param unknown $params 加密数据</li>
<li>
<p>@return string
*/
protected function _encrypData($params)
{
//排序
ksort($params);</p>
<pre><code>$json = json_encode($params,JSON_UNESCAPED_UNICODE+JSON_UNESCAPED_SLASHES);
$obj = new Aes(str2bin($this->apiKey),'AES-256-ECB');
$encrypt_data = $obj->encrypt($json);
return $encrypt_data;</code></pre>
<p>}</p>
<p>/**</p>
</li>
<li>解密数据</li>
<li>@param unknown $string 加密数据</li>
<li>
<p>@return array
*/
protected function _decryptData($string)
{
$obj = new Aes(Util::str2bin($this->apiKey),'AES-256-ECB');
$encrypt_data = $obj->decrypt($string);</p>
<pre><code>if(Util::isJson($encrypt_data)) {
return json_decode($encrypt_data,true);
}
return $string;</code></pre>
<p>}</p>
<p>/**</p>
</li>
<li>将16进制转换成二进制
*/
public static function str2bin($hexdata)
{
$bindata="";
for ($i=0;$i < strlen($hexdata);$i+=2) {
$bindata.=chr(hexdec(substr($hexdata,$i,2)));
}
return $bindata;
}</li>
</ul>