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 相关文章推荐
第八节 访问方式 [8]
Oct 09 PHP
mysql+php分页类(已测)
Mar 31 PHP
php笔记之:文章中图片处理的使用
Apr 26 PHP
使用openssl实现rsa非对称加密算法示例
Jan 24 PHP
PHP答题类应用接口实例
Feb 09 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
Dec 31 PHP
php将文件夹打包成zip文件的简单实现方法
Oct 04 PHP
CI框架表单验证实例详解
Nov 21 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
Feb 09 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
Feb 20 PHP
PHP实现用session来实现记录用户登陆信息
Oct 15 PHP
PHP7内核之Reference详解
Mar 14 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概述.
2006/10/09 PHP
PHP+MYSQL的文章管理系统(二)
2006/10/09 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
[jQuery] 事件和动画详解
2019/03/05 jQuery
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
javascript实现电商放大镜效果
2020/11/23 Javascript
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
Python 可爱的大小写
2008/09/06 Python
Python调用C/C++动态链接库的方法详解
2014/07/22 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
2019/05/21 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
德国便宜的宠物店:Brekz.de
2020/10/23 全球购物
公司财务总监岗位职责
2013/12/14 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
python基础之爬虫入门
2021/05/10 Python
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python