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横向重复区域显示二法
Sep 25 PHP
linux iconv方法的使用
Oct 01 PHP
浅析PHP 按位与或 (^ 、&amp;)
Jun 21 PHP
php生成扇形比例图实例
Nov 06 PHP
PHP实现的构造sql语句类实例
Feb 03 PHP
php实现图片上传并利用ImageMagick生成缩略图
Mar 14 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
Oct 14 PHP
利用php生成验证码
Feb 23 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
Aug 03 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
PHP中上传文件打印错误错误类型分析
Apr 14 PHP
PHP日期和时间函数的使用示例详解
Aug 06 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
超神学院:天使彦公认最美的三个视角,网友:我的天使快下凡吧!
2020/03/02 国漫
php下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
让PHP支持页面回退的两种方法
2008/01/10 PHP
php弹出对话框实现重定向代码
2014/01/23 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
测试你的JS的掌握程度的代码
2009/12/09 Javascript
JS 对象介绍
2010/01/20 Javascript
jQuery 在光标定位的地方插入文字的插件
2012/05/10 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
2014/05/20 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
2019/11/18 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
敏捷开发的主要原则都有哪些
2015/04/26 面试题
上班早退检讨书
2014/01/09 职场文书
协议书模板
2014/04/23 职场文书
群众路线学习心得体会范文
2014/11/05 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
python缺失值的解决方法总结
2021/06/09 Python