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 相关文章推荐
5.PHP的其他功能
Oct 09 PHP
php下把数组保存为文件格式的实例应用
Feb 08 PHP
Memcache 在PHP中的使用技巧
Feb 08 PHP
PHP取得一个类的属性和方法的实现代码
May 22 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Jan 12 PHP
PHP jQuery表单,带验证具体实现方法
Feb 15 PHP
PHP使用memcache缓存技术提高响应速度的方法
Dec 26 PHP
PHP实现图片自动清理的方法
Jul 08 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
详解php中空字符串和0之间的关系
Oct 23 PHP
ThinkPHP框架实现FTP图片上传功能示例
Apr 08 PHP
PHP使用ajax的post方式下载excel文件简单示例
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
php将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
PHP下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
PHP 根据key 给二维数组分组
2016/12/09 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
JavaScript中yield实用简洁实现方式
2010/06/12 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
JavaScript更改字符串的大小写
2015/05/07 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
JS Input里添加小图标的两种方法
2017/11/11 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
在小程序中推送模板消息的实现方法
2019/07/22 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
浅析matlab中imadjust函数
2020/02/27 Python
python switch 实现多分支选择功能
2020/12/21 Python
金山毒霸系列的笔试题
2013/04/13 面试题
为数据库创建索引都需要注意些什么
2012/07/17 面试题
单位提档介绍信
2014/01/17 职场文书
《分一分》教学反思
2014/04/13 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
服务整改报告
2014/11/06 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android