@H_5020@前言
@H502_0@mcrypt 扩展已经过时了大约10年,并且用起来很复杂。因此它被废弃并且被 OpenSSL 所取代。 从PHP 7.2起它将被从核心代码中移除并且移到PECL中。
@H_502_0@PHP手册在7.1迁移页面给出了替代方案,就是用OpenSSL取代MCrypt.
@H_502_0@
示例代码
<div class="jb51code">
<pre class="brush:PHP;">
/**
- [AesSecurity aes加密,支持PHP7.1]
*/
class AesSecurity
{
/** - [encrypt aes加密]
- @param [type] $input [要加密的数据]
- @param [type] $key [加密key]
- @return [type] [加密后的数据]
*/
public static function encrypt($input,$key)
{
$data = openssl_encrypt($input,'AES-128-ECB',$key,OPENSSL_RAW_DATA);
$data = base64_encode($data);
return $data;
}
/** - [decrypt aes解密]
- @param [type] $sstr [要解密的数据]
- @param [type] $sKey [加密key]
- @return [type] [解密后的数据]
*/
public static function decrypt($sstr,$sKey)
{
$decrypted = openssl_decrypt(base64_decode($sstr),$sKey,OPENSSL_RAW_DATA);
return $decrypted;
}
}