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


Posted in PHP onOctober 17, 2017

前言

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

可据需求,自行改编。

总结

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

PHP 相关文章推荐
PHP模拟SQL Server的两个日期处理函数
Oct 09 PHP
wamp下修改mysql访问密码的解决方法
May 07 PHP
PHP积分兑换接口实例
Feb 09 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
CI框架数据库查询缓存优化的方法
Nov 21 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 PHP
PHP实现统计所有字符在字符串中出现次数的方法
Oct 17 #PHP
基于PHP-FPM进程池探秘
Oct 17 #PHP
PHP-X系列教程之内置函数的使用示例
Oct 16 #PHP
php封装单文件上传到数据库(路径)
Oct 15 #PHP
PHP多进程编程之僵尸进程问题的理解
Oct 15 #PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 #PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 #PHP
You might like
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
PHP多线程抓取网页实现代码
2010/07/22 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
PHP实现防止表单重复提交功能【基于token验证】
2018/05/24 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
jQuery基础知识点总结(必看)
2016/05/31 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
对python 命令的-u参数详解
2018/12/03 Python
python如何统计代码运行的时长
2019/07/24 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
python matplotlib 画dataframe的时间序列图实例
2019/11/20 Python
python实现连连看游戏
2020/02/14 Python
Python 如何创建一个线程池
2020/07/28 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
高职教师岗位职责
2013/12/24 职场文书
生产部统计员岗位职责
2014/01/05 职场文书
表决心的诗句大全
2014/03/11 职场文书
10的分与合教学反思
2014/04/30 职场文书
公司合作协议范文
2014/10/01 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
留学推荐信英文范文
2015/03/26 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书