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安装问题
Oct 09 PHP
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
WordPress中注册菜单与调用菜单的方法详解
Dec 18 PHP
PHP生成和获取XML格式数据的方法
Mar 04 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
Mar 07 PHP
PHP编写daemon process详解及实例代码
Sep 30 PHP
PHP中in_array的隐式转换的解决方法
Mar 06 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
PHP扩展mcrypt实现的AES加密功能示例
Jan 29 PHP
php中file_get_contents()函数用法实例
Feb 21 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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
php更新修改excel中的内容实例代码
2014/02/26 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
js中substring和substr两者区别和使用方法
2015/11/09 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
Vue 短信验证码组件开发详解
2017/02/14 Javascript
走进javascript——不起眼的基础,值和分号
2017/02/24 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
2017/12/11 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
python字符串排序方法
2014/08/29 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
python中break、continue 、exit() 、pass终止循环的区别详解
2019/07/08 Python
Python性能分析工具Profile使用实例
2019/11/19 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
英国巧克力贸易公司:Chocolate Trading Company
2017/03/21 全球购物
优秀体育委员自荐书
2014/01/31 职场文书
综艺节目策划方案
2014/06/13 职场文书
装饰技术负责人岗位职责
2015/04/13 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书