当前位置 博文首页 > PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案

    PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案

    作者:admin 时间:2021-09-09 19:13

    前言

    mcrypt 扩展已经过时了大约10年,并且用起来很复杂。因此它被废弃并且被 OpenSSL 所取代。 从PHP 7.2起它将被从核心代码中移除并且移到PECL中。

    PHP手册在7.1迁移页面给出了替代方案,就是用OpenSSL取代MCrypt.

    示例代码

    /**
     * [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;
     }
    }

    可据需求,自行改编。

    总结

    jsjbwy
    下一篇:没有了