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 24 PHP
php session 错误
May 21 PHP
php中使用DOM类读取XML文件的实现代码
Dec 14 PHP
Windows中使用计划任务自动执行PHP程序实例
May 09 PHP
PHP实现获取FLV文件的时间
Feb 10 PHP
php中文验证码实现方法
Jun 18 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
Jan 08 PHP
PHP 的比较运算与逻辑运算详解
May 12 PHP
PHP面试常用算法(推荐)
Jul 22 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 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运行环境配置的详解
2013/06/04 PHP
深入解析PHP中逗号与点号的区别
2013/08/05 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
js使用eval解析json(js中使用json)
2014/01/17 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
js 作用域和变量详解
2017/02/16 Javascript
Vue.js实现模拟微信朋友圈开发demo
2017/04/20 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
vue+iview动态渲染表格详解
2019/03/19 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
Python对多属性的重复数据去重实例
2018/04/18 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
介绍一下sql server的安全性
2014/08/10 面试题
护理毕业生自荐信范文
2013/12/22 职场文书
七年级生物教学反思
2014/01/30 职场文书
团队经理竞聘书
2014/03/31 职场文书
学生安全责任书
2014/04/15 职场文书
保密工作目标责任书
2014/07/28 职场文书
公司离职证明范本(5篇)
2014/09/17 职场文书
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python