欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-11-02 20:02:33
前言 mcrypt 扩展已经过时了大约10年,并且用起来很复杂。因此它被废弃并且被 openssl 所取代。 从php 7.2起它将被从核心代码中移除并且移到pecl中。...

前言

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;
 }
}

可据需求,自行改编。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。