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下通过系统信号量加锁方式获取递增序列ID
Sep 25 PHP
域名和cookie问题(域名后缀)
Oct 10 PHP
解析用PHP实现var_export的详细介绍
Jun 20 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
Jul 25 PHP
php中$_POST与php://input的区别实例分析
Jan 07 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
Dec 30 PHP
thinkphp验证码的实现(form、ajax实现验证)
Jul 28 PHP
php连接mysql数据库
Mar 21 PHP
ThinkPHP删除栏目(实现批量删除栏目)
Jun 21 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 PHP
laravel框架学习笔记之组件化开发实现方法
Feb 01 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
海贼王动画变成“真人”后,凯多神还原,雷利太帅了!
2020/04/09 日漫
php $_SERVER当前完整url的写法
2009/11/12 PHP
又一个php 分页类实现代码
2009/12/03 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
vue 监听屏幕高度的实例
2018/09/05 Javascript
新手快速入门JavaScript装饰者模式与AOP
2019/06/24 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
微信小程序之 catalog 切换实现解析
2019/09/12 Javascript
Python实现数据库并行读取和写入实例
2017/06/09 Python
python最长回文串算法
2018/06/04 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
Unix如何在一行中运行多个命令
2015/05/29 面试题
Ruby如何进行文件操作
2014/07/17 面试题
超市国庆节促销方案
2014/02/20 职场文书
数学检讨书1000字
2014/02/24 职场文书
给老婆的保证书范文
2014/04/28 职场文书
机关作风建设自查报告
2014/10/22 职场文书
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL