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学习之数据类型之间的转换介绍
Jun 09 PHP
PHP获取http请求的头信息实现步骤
Dec 16 PHP
PHP获取MSN好友列表类的实现代码
Jun 23 PHP
使用php计算排列组合的方法
Nov 13 PHP
php常用hash加密函数
Nov 22 PHP
PHP5多态性与动态绑定介绍
Apr 03 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
Apr 02 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
PHP图片添加水印功能示例小结
Oct 03 PHP
thinkphp修改配置进入默认首页的方法
Feb 07 PHP
PHP更安全的密码加密机制Bcrypt详解
Jun 18 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
Jul 13 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多态代码实例
2015/06/26 PHP
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
2010/12/30 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
jquery 遍历数组 each 方法详解
2016/05/25 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
Vue自定义指令使用方法详解
2017/08/21 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
三步实现ionic3点击退出app程序
2019/09/17 Javascript
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
详解Python_shutil模块
2019/03/15 Python
详解python配置虚拟环境
2019/04/08 Python
Python提取PDF内容的方法(文本、图像、线条等)
2019/09/25 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
使用Python Tkinter实现剪刀石头布小游戏功能
2020/10/23 Python
Python3中FuzzyWuzzy库实例用法
2020/11/18 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
小露珠教学反思
2014/04/30 职场文书
副职竞争上岗演讲稿
2014/05/12 职场文书
日语系毕业求职信
2014/07/27 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
创优争先心得体会
2014/09/11 职场文书
乡镇三严三实学习心得体会
2014/10/13 职场文书
继续教育个人总结
2015/03/03 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
民事调解协议书
2016/03/21 职场文书
导游词之吉林吉塔
2019/11/11 职场文书