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 截取字符串 分别适合GB2312和UTF8编码情况
Feb 12 PHP
php 计划任务 检测用户连接状态
Mar 29 PHP
基于PHP Web开发MVC框架的Smarty使用说明
Apr 19 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
Nov 28 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
在php中设置session用memcache来存储的方法总结
Jan 14 PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 PHP
laravel批量生成假数据的方法
Oct 09 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
Mar 02 PHP
TP5框架实现自定义分页样式的方法示例
Apr 05 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
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
2013/10/18 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
Jquery动态添加及删除页面节点元素示例代码
2014/06/16 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
Layui 设置select下拉框自动选中某项的方法
2018/08/14 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
2019/05/07 Javascript
vuex入门最详细整理
2020/03/04 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
Python求出0~100以内的所有素数
2018/01/23 Python
Python正则表达式匹配和提取IP地址
2019/06/06 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
aden + anais英国官网:美国婴儿贴身用品品牌
2019/09/08 全球购物
中国央视网签名寄语
2014/01/18 职场文书
学校卫生检查制度
2014/02/03 职场文书
团干部培训方案
2014/06/03 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
人事局接收函
2015/01/30 职场文书
幼儿园教师师德承诺书
2015/04/28 职场文书
八月一日观后感
2015/06/10 职场文书
2015教师节通讯稿
2015/07/20 职场文书
青年志愿者活动感想
2015/08/07 职场文书
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL