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 生成静态页面的办法与实现代码详细版
Feb 15 PHP
php函数之子字符串替换&amp;#65279; str_replace
Mar 23 PHP
php与mysql建立连接并执行SQL语句的代码
Jul 04 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
163的邮件用phpmailer发送(实例详解)
Jun 24 PHP
php获取bing每日壁纸示例分享
Feb 25 PHP
php比较两个字符串长度的方法
Jul 13 PHP
PHP MYSQL实现登陆和模糊查询两大功能
Feb 05 PHP
php注册登录系统简化版
Dec 28 PHP
php获取linux命令结果的实例
Mar 13 PHP
PHP 年月日的三级联动实例代码
May 24 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
Apr 20 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/10/21 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
php不用正则验证真假身份证
2013/11/06 PHP
PHP连接SQLServer2005的方法
2015/01/27 PHP
PHP生成短网址方法汇总
2016/07/12 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
Prototype使用指南之ajax
2007/01/10 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
jQuery 3 中的新增功能汇总介绍
2016/06/12 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
2017/03/20 Javascript
Angular2中如何使用ngx-translate进行国际化
2017/05/21 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
node.js实现的装饰者模式示例
2017/09/06 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
简谈创建React Component的几种方式
2019/06/15 Javascript
layui的select联动实现代码
2019/09/28 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
python备份文件的脚本
2008/08/11 Python
Python读写文件方法总结
2015/06/09 Python
在Django框架中运行Python应用全攻略
2015/07/17 Python
python版简单工厂模式
2017/10/16 Python
Python实现的rsa加密算法详解
2018/01/24 Python
Python3数字求和的实例
2019/02/19 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
技术总监管理职责范本
2014/03/06 职场文书
大三学习计划书范文
2014/05/02 职场文书
党支部先进事迹材料
2014/12/24 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
使用pytorch实现线性回归
2021/04/11 Python