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 相关文章推荐
第六节 访问属性和方法 [6]
Oct 09 PHP
PHP VS ASP
Oct 09 PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 PHP
php采集文章中的图片获取替换到本地(实现代码)
Jul 08 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
Jul 15 PHP
php flush无效,IIS7下php实时输出的方法
Aug 25 PHP
Netbeans 8.2与PHP相关的新特性介绍
Oct 08 PHP
PHP表单验证内容是否为空的实现代码
Nov 14 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
使用PHPExcel导出Excel表
Sep 08 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
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
PHP生成UTF8文件的方法
2010/05/15 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
比较详细的javascript对象的property和prototype是什么一种关系
2007/08/06 Javascript
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
使用OPENLAYERS3实现点选的方法
2020/09/24 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
小程序实现短信登录倒计时
2019/07/12 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
Python提取网页中超链接的方法
2016/09/18 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
基于Python List的赋值方法
2018/06/23 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
详解python tcp编程
2020/08/24 Python
基于CSS3 animation动画属性实现轮播图效果
2017/09/12 HTML / CSS
英语自荐信常用语句
2013/12/13 职场文书
优秀党支部事迹材料
2014/01/14 职场文书
公证委托书模板
2014/04/03 职场文书
铅球加油稿100字
2014/09/26 职场文书
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
Nginx工作模式及代理配置的使用细节
2022/03/21 Servers