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维护文件系统
Oct 09 PHP
PHP分页显示制作详细讲解
Dec 05 PHP
PHP获取类中常量,属性,及方法列表的方法
Apr 09 PHP
PHP url 加密解密函数代码
Aug 26 PHP
ThinkPHP页面跳转success与error方法概述
Jun 25 PHP
php中smarty区域循环的方法
Jun 11 PHP
Zend Framework框架Smarty扩展实现方法
Mar 22 PHP
PHP的全局错误处理详解
Apr 25 PHP
PHP并发多进程处理利器Gearman使用介绍
May 16 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 PHP
Laravel中的chunk组块结果集处理与注意问题
Aug 15 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 self,$this,const,static,-&amp;gt;的使用
2009/10/22 PHP
PHP的全局错误处理详解
2016/04/25 PHP
浅谈PHP各环境下的伪静态配置
2019/03/13 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
javascript 有用的脚本函数
2009/05/07 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
js 浏览器事件介绍
2012/03/30 Javascript
JS命名空间的另一种实现
2013/08/09 Javascript
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
详解vue项目中实现图片裁剪功能
2019/06/07 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
js键盘事件实现人物的行走
2020/01/17 Javascript
[02:11]2014DOTA2 TI专访VG战队Fenrir:队伍气氛良好
2014/07/11 DOTA
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
python生成圆形图片的方法
2020/03/25 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
python实现在一个画布上画多个子图
2020/01/19 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
2014年人事科工作总结
2014/11/19 职场文书
职工宿舍管理制度
2015/08/05 职场文书
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript