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 相关文章推荐
基于HTTP长连接的"服务器推"技术的php 简易聊天室
Oct 31 PHP
php自定义函数之递归删除文件及目录
Aug 08 PHP
基于PHP文件操作的详解
Jun 05 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
怎么在Windows系统中搭建php环境
Aug 31 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
Aug 21 PHP
PHP命名空间和自动加载类
Apr 03 PHP
CI框架常用函数封装实例
Nov 21 PHP
golang 调用 php7详解及实例
Jan 04 PHP
PHP基于递归实现的约瑟夫环算法示例
Aug 27 PHP
YII2框架中actions的作用与使用方法示例
Mar 13 PHP
PHP的imageTtfText()函数深入详解
Mar 03 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
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
PHP操作XML作为数据库的类
2010/12/19 PHP
Yii框架安装简明教程
2020/05/15 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
JavaScript 无符号右移运算符
2009/04/17 Javascript
Jquery事件的连接使用示例
2013/06/18 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
分析js闭包引起的事件注册问题
2016/03/29 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python中关于使用模块的基础知识
2015/05/24 Python
利用Python爬取可用的代理IP
2016/08/18 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
python生成1行四列全2矩阵的方法
2018/08/04 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
postman传递当前时间戳实例详解
2019/09/14 Python
在Sublime Editor中配置Python环境的详细教程
2020/05/03 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
html5与css3小应用
2013/04/03 HTML / CSS
super()与this()的区别
2016/01/17 面试题
物流业务员岗位职责
2014/02/08 职场文书
小学教师培训感言
2014/02/11 职场文书
研发工程师岗位职责
2014/04/28 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
五年级上册复习计划
2015/01/19 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL