PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
时间:2019-04-07
本文章向大家介绍PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案,主要包括PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
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; } }
可据需求,自行改编。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
- SpringBoot整合Mybatis之进门篇
- Tomcat和Java Virtual Machine的性能调优总结
- 一次浴火重生的MySQL优化(EXPLAIN命令详解)
- 简单聊聊不可或缺的Nginx反向代理服务器--实现负载均衡【上篇】
- Java设计模式之适配器设计模式(项目升级案例)
- Java设计模式之模板方法设计模式(银行计息案例)
- 多线程之策略模式
- 文件上传的动作不能太俗,必须页面无刷新上传
- 这次真的忽略了一些ActiveMQ内心的娇艳
- 多线程编程:阻塞、并发队列的使用总结
- 多线程编程:多线程并发制单的开发记录【一】
- 如何使用线程锁来提高多线程并发效率
- 如何在分布式环境中同步solr索引库和缓存信息
- 如何在分布式环境中同步solr索引库和缓存信息
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Salesforce LWC学习(二十一) Error浅谈
- 活久见!64 张图带你 Maven 实战通关
- TensorFlow_Tutorial_v3b——improving NN performance测验
- Redis字典设计详解
- C++中STL学习笔记——容器之vector
- Linux定时器实现
- 如何使用Go来实现优雅重启服务?
- C++中STL学习笔记——容器之list
- C++中STL学习笔记——常见算法操作演示
- 虚拟文件系统
- Convolution_model_Step_by_Step_v2a
- 进程间通信 - 共享内存
- Redis数据淘汰算法
- 无损失放大低分辨率图片
- Linux内存页分配策略