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 daodb插入、更新与删除数据
Mar 19 PHP
php&mysql 日期操作小记
Feb 27 PHP
在wamp集成环境下升级php版本(实现方法)
Jul 01 PHP
php的memcache类分享(memcache队列)
Mar 26 PHP
php curl模拟post请求和提交多维数组的示例代码
Nov 19 PHP
php制作的简单验证码识别代码
Jan 26 PHP
Symfony实现行为和模板中取得request参数的方法
Mar 17 PHP
Yii框架表单模型和验证用法
May 20 PHP
php获取给定日期相差天数的方法分析
Feb 20 PHP
php7安装mongoDB扩展的方法分析
Aug 02 PHP
PHP递归算法的简单实例
Feb 28 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
一些使用频率比较高的php函数
2008/10/03 PHP
PHP Stream_*系列函数
2010/08/01 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
php实现文件编码批量转换
2014/03/10 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
jQuery Selector选择器小结
2010/05/06 Javascript
chrome下img加载对height()的影响示例探讨
2014/05/26 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
2016/01/26 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
vue中当图片地址无效的时候,显示默认图片的方法
2018/09/18 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
Python群发邮件实例代码
2014/01/03 Python
python的dict,set,list,tuple应用详解
2014/07/24 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
html5弹跳球示例代码
2013/07/23 HTML / CSS
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
美术教学感言
2014/02/22 职场文书
教师中国梦演讲稿
2014/04/23 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
共青团员自我评价
2015/03/10 职场文书
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers
SQL Server 中的事务介绍
2022/05/20 SQL Server