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 30 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 PHP
关于Zend Studio 配色方案插件的介绍
Jun 24 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 PHP
php跨域cookie共享使用方法
Feb 20 PHP
Linux下php5.4启动脚本
Aug 03 PHP
php实现webservice实例
Nov 06 PHP
php批量删除cookie的简单实现方法
Jan 26 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
java解析json方法总结
May 16 PHP
Laravel使用Queue队列的技巧汇总
Sep 02 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 应用程序安全防范技术研究
2009/09/25 PHP
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
防止xss和sql注入:JS特殊字符过滤正则
2013/04/18 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
2013/12/11 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
2017/04/12 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
深入理解python函数递归和生成器
2016/06/06 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
python购物车程序简单代码
2018/04/18 Python
使用numpy和PIL进行简单的图像处理方法
2018/07/02 Python
python pyheatmap包绘制热力图
2018/11/09 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
Anaconda+vscode+pytorch环境搭建过程详解
2020/05/25 Python
python主要用于哪些方向
2020/07/05 Python
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
土木工程专业自荐信
2013/10/04 职场文书
企业年度评优方案
2014/06/02 职场文书
会议室标语
2014/06/21 职场文书
机关党员公开承诺书
2014/08/30 职场文书
党员批评与自我批评
2014/10/15 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js