在php7.1中,已经明确写出了将要废除使用了十年的mcrypt_module_open()函数,在最新发布的php7.2中已不再支持函数。
以下是原文:
mcrypt 扩展已经过时了大约10年,并且用起来很复杂。因此它被废弃并且被 OpenSSL 所取代。 从PHP 7.2起它将被从核心代码中移除并且移到PECL中。
如果只是需要类似功能的替代品,官方建议是使用 OpenSSL 扩展,不过我们依然可以从PECL下载到源码,编译和安装这个扩展。
这里我就简单的介绍下OpenSSL的代替方案
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | /** * [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 ), 'AES-128-ECB' , $sKey , OPENSSL_RAW_DATA); return $decrypted ; } } |
大概就是这样,以后有时间再详细介绍OpenSSL扩展的其他功能
转载请注明:七彩悠悠博客 | 心悠悠 情悠悠 » 使用openssl_encrypt方法替代mcrypt_encrypt做AES加密