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 相关文章推荐
关于mysql 字段的那个点为是定界符
Jan 15 PHP
php中变量及部分适用方法
Mar 27 PHP
PHP 处理图片的类实现代码
Oct 23 PHP
浅谈php中mysql与mysqli的区别分析
Jun 10 PHP
PHP获取文件扩展名的4种方法
Nov 24 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 PHP
PHP中TP5 上传文件的实例详解
Jul 31 PHP
php插件Xajax使用方法详解
Aug 31 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
Oct 24 PHP
基于PHP实现用户登录注册功能的详细教程
Aug 04 PHP
php如何实现数据库的备份和恢复
Nov 30 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 Smarty初体验二 获取配置信息
2011/08/08 PHP
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
JQuery CSS样式控制 学习笔记
2009/07/23 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
JS实现JSON.stringify的实例代码讲解
2017/02/07 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
vue实现购物车案例
2020/05/30 Javascript
python Django模板的使用方法(图文)
2013/11/04 Python
简单了解OpenCV是个什么东西
2017/11/10 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
详解python程序中的多任务
2020/09/16 Python
Python实现小黑屋游戏的完整实例
2021/01/06 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
什么是serialVersionUID
2016/03/04 面试题
Ruby如何创建一个线程
2013/03/10 面试题
焊接专业毕业生求职信
2013/10/01 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
教师见习报告范文
2014/11/03 职场文书
个人党性分析总结
2015/03/05 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
员工考勤管理制度
2015/08/06 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
Nginx缓存设置案例详解
2021/09/15 Servers
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis
java开发双人五子棋游戏
2022/05/06 Java/Android