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的宝库目录--PEAR
Oct 09 PHP
php 定界符格式引起的错误
May 24 PHP
php对mongodb的扩展(初出茅庐)
Nov 11 PHP
php+js iframe实现上传头像界面无跳转
Apr 29 PHP
ThinkPHP3.1之D方法实例详解
Jun 20 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
ThinkPHP实现动态包含文件的方法
Nov 29 PHP
5款适合PHP使用的HTML编辑器推荐
Jul 03 PHP
PHP设计模式之简单投诉页面实例
Feb 24 PHP
让你的PHP7更快之Hugepage用法分析
May 31 PHP
Yii多表联合查询操作详解
Jun 02 PHP
PHP仿微信发红包领红包效果
Oct 30 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
一个域名查询的程序
2006/10/09 PHP
php中将网址转换为超链接的函数
2011/09/02 PHP
php接口和抽象类使用示例详解
2014/03/02 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
php微信开发之关注事件
2018/06/14 PHP
jquery解析JSON数据示例代码
2014/03/17 Javascript
JQuery判断checkbox是否选中及其它复选框操作方法合集
2015/06/01 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
JS实现可针对算术表达式求值的计算器功能示例
2018/09/04 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
[06:07]辉夜杯现场观众互动 “比谁远送显示器”
2015/12/26 DOTA
Python编程中实现迭代器的一些技巧小结
2016/06/21 Python
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Python为何不能用可变对象作为默认参数的值
2019/07/01 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
后勤部长岗位职责
2013/12/14 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
参观邀请函范文
2015/02/02 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
前台接待岗位职责范本
2015/04/03 职场文书
校园环境卫生倡议书
2015/04/29 职场文书
邹越演讲观后感
2015/06/15 职场文书
解决Pytorch中关于model.eval的问题
2021/05/22 Python