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 页面执行时间计算代码
Dec 04 PHP
调整PHP的性能
Oct 30 PHP
PHP大转盘中奖概率算法实例
Oct 21 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
May 13 PHP
php 读取输出其他文件的实现方法
Jul 26 PHP
常用PHP数组排序函数归纳
Aug 08 PHP
基于PHP制作验证码
Oct 12 PHP
CI框架表单验证实例详解
Nov 21 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
在Laravel的Model层做数据缓存的实现
Sep 26 PHP
详解Laravel制作API接口
May 31 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
收音机术语解释
2021/03/01 无线电
php2html php生成静态页函数
2008/12/08 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
js 禁止选择功能实现代码(兼容IE/Firefox)
2010/04/23 Javascript
appendChild() 或 insertBefore()使用与区别介绍
2013/10/11 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
JavaScript实现文字与图片拖拽效果的方法
2015/02/16 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
setTimeout与setInterval的区别浅析
2019/03/23 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
html5 touch事件实现触屏页面上下滑动(一)
2016/03/10 HTML / CSS
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
船餐厅和泰晤士河餐饮游轮:Bateaux London
2018/03/19 全球购物
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
大学生简历的个人自我评价
2013/12/04 职场文书
联谊活动总结
2014/08/28 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers