PHP使用openssl扩展实现加解密方法示例


Posted in PHP onFebruary 20, 2020

从PHP7版本开始很多依赖mcrypt扩展的方法都不支持了,PHP7.2.0及以上版本已经完全不支持mcrypt扩展的任何方法了,所以PHP7及以上版本都应该使用openssl扩展来实现加解密。

以DES-CBC加密方式为例:

<?php

class DesUtil
{
  /**
   * Des 加密
   *
   * @param $str
   * @param $secretKey
   * @param string $iv
   * @return string
   */
  public static function encrypt($str, $secretKey, $iv = '')
  {
    return base64_encode(openssl_encrypt($str, 'des-cbc', $secretKey, OPENSSL_RAW_DATA, $iv));
  }

  /**
   * Des 解密
   *
   * @param $str
   * @param $secretKey
   * @param string $iv
   * @return string
   */
  public static function decrypt($str, $secretKey, $iv = '')
  {
    return openssl_decrypt(base64_decode($str), 'des-cbc', $secretKey, OPENSSL_RAW_DATA, $iv);
  }
}

到此这篇关于PHP使用openssl扩展实现加解密方法示例的文章就介绍到这了,更多相关PHP openssl扩展实现加解密内容请搜素三水点靠木以前的文章或下面相关文章,希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
浅谈Windows下 PHP4.0与oracle 8的连接设置
Oct 09 PHP
Smarty结合Ajax实现无刷新留言本实例
Jan 02 PHP
PHP与SQL注入攻击防范小技巧
Sep 16 PHP
如何用phpmyadmin设置mysql数据库用户的权限
Jan 09 PHP
php cookie使用方法学习笔记分享
Nov 07 PHP
跟我学Laravel之快速入门
Oct 15 PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 PHP
ThinkPHP中session函数详解
Sep 14 PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 PHP
php下载远程大文件(获取远程文件大小)的实例
Jun 17 PHP
CI框架附属类用法分析
Dec 26 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 #PHP
解决windows上php xdebug 无法调试的问题
Feb 19 #PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 #PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 #PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 #PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 #PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 #PHP
You might like
PHP函数func_num_args用法实例分析
2015/12/07 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
jQuery Masonry瀑布流布局神器使用详解
2017/05/25 jQuery
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
2019/05/22 Javascript
JavaScript创建表格的方法
2020/04/13 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
TensorFlow损失函数专题详解
2018/04/26 Python
对Xpath 获取子标签下所有文本的方法详解
2019/01/02 Python
通过celery异步处理一个查询任务的完整代码
2019/11/19 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
2020/12/01 Python
python利用opencv实现颜色检测
2021/02/23 Python
html5 worker 实例(二) 图片变换效果
2013/06/24 HTML / CSS
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
曼城官方网上商店:Manchester City
2019/09/10 全球购物
心理健康教育制度
2014/01/27 职场文书
浪漫婚礼主持词
2014/03/14 职场文书
《陈涉世家》教学反思
2014/04/12 职场文书
2014年司法局工作总结
2014/12/11 职场文书
小兵张嘎观后感300字
2015/06/03 职场文书
学雷锋广播稿大全
2015/08/19 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript