加密需要php5版本,php7方法已弃用
/**************AES加密请求数据*******************/
/**
* 加密通过AES加密请求数据/
*
* @param array $query
* @return string
*/
public function enAES($key, $input)
{
$size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$input = $this->pkcs5_pad($input, $size);
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
$iv = $key;
mcrypt_generic_init($td, $key, $iv);
$data = mcrypt_generic($td, $input);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
$data = base64_encode($data);
return $data;
}
public function pkcs5_pad($text, $blocksize)
{
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}
//解密
public function decrypt($encryptStr, $key)
{
$localIV = $key;
$encryptKey = $key;
$encryptStr = base64_decode($encryptStr);
//Open module
$module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, $localIV);
//print "module = $module <br/>" ;
mcrypt_generic_init($module, $encryptKey, $localIV);
$encryptedData = $encryptStr;
$encryptedData = mdecrypt_generic($module, $encryptedData);
return $encryptedData;
}