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程序的方法
Mar 09 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
Apr 29 PHP
php实现mysql同步的实现方法
Oct 21 PHP
php HandlerSocket的使用
May 02 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
php对图像的各种处理函数代码小结
Jul 08 PHP
PHP四舍五入、取整、round函数使用示例
Feb 06 PHP
Zend Framework基本页面布局分析
Mar 19 PHP
zend framework重定向方法小结
May 28 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
PHP中ajax无刷新上传图片与图片下载功能
Feb 21 PHP
PHP htmlentities()函数用法讲解
Feb 25 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
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
2013/01/23 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
jQuery 操作input中radio的技巧
2016/07/18 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
jQuery.ajax实现根据不同的Content-Type做出不同的响应
2016/11/03 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
2018/05/08 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
web.py中调用文件夹内模板的方法
2014/08/26 Python
Python命令启动Web服务器实例详解
2017/02/23 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
Python自动创建Excel并获取内容
2020/09/16 Python
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
如何清空Session
2015/02/23 面试题
元宵晚会主持词
2014/03/25 职场文书
食堂标语大全
2014/06/11 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
活动总结模板大全
2015/05/11 职场文书
教师调动申请报告
2015/05/18 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
python 自动刷新网页的两种方法
2021/04/20 Python
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server