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 相关文章推荐
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 PHP
php之readdir函数用法实例
Nov 13 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
PHP生成RSS文件类实例
Dec 05 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
May 21 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 PHP
PHP __call()方法实现委托示例
May 20 PHP
laravel实现简单用户权限的示例代码
May 28 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 PHP
如何重写Laravel异常处理类详解
Dec 20 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语法速查表
2007/01/02 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
yii添删改查实例
2015/11/16 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
javascript游戏开发之《三国志曹操传》零部件开发(四)用地图块拼成大地图
2013/01/23 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
2017/03/01 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
微信小程序onLaunch异步,首页onLoad先执行?
2018/09/20 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
[01:53]DOTA2超级联赛专访Zhou 五年职业青春成长
2013/05/29 DOTA
python使用Image处理图片常用技巧分析
2015/06/01 Python
python爬取m3u8连接的视频
2018/02/28 Python
Python定时任务sched模块用法示例
2018/07/16 Python
Python实现分段线性插值
2018/12/17 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
如何将json数据转换为python数据
2020/09/04 Python
python字典按照value排序方法
2020/12/28 Python
Python 实现进度条的六种方式
2021/01/06 Python
公务员的自我鉴定
2013/10/26 职场文书
创业女性典型材料
2014/05/02 职场文书
服务行业口号
2014/06/11 职场文书
小学生读书活动总结
2014/06/30 职场文书
银行贷款委托书范本
2014/10/11 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
《法国号》教学反思
2016/02/22 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
SpringCloud之@FeignClient()注解的使用方式
2021/09/25 Java/Android