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图片上传类带图片显示
Nov 25 PHP
php中计算时间差的几种方法
Dec 31 PHP
PHP安全技术之 实现php基本安全
Sep 04 PHP
基于MySQL分区性能的详细介绍
May 02 PHP
PHP CURL获取返回值的方法
May 04 PHP
php查看当前Session的ID实例
Mar 16 PHP
关于PHP文件的自动运行方法分析
May 13 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
Oct 25 PHP
php封装的pdo数据库操作工具类与用法示例
May 08 PHP
PHP中用Trait封装单例模式的实现
Dec 18 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下删除一篇文章生成的多个静态页面
2010/08/08 PHP
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
2012/04/09 PHP
php快递单号查询接口使用示例
2014/05/05 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
9个比较实用的php代码片段
2016/03/15 PHP
PHP 类与构造函数解析
2017/02/06 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
JavaScript中判断整数的多种方法总结
2014/11/08 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
2017/09/15 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
在Python中使用PIL模块对图片进行高斯模糊处理的教程
2015/05/05 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
详解用 python-docx 创建浮动图片
2021/01/24 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
主题酒店策划书
2014/01/28 职场文书
新学期教师寄语
2014/04/02 职场文书
幼儿园新年寄语
2014/04/03 职场文书
高中生毕业评语
2014/12/30 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle
Mysql 文件配置解析介绍
2022/05/06 MySQL