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 magic_quotes_gpc的一点认识与分析
Aug 18 PHP
DedeCMS dede_channeltype表字段注释
Apr 07 PHP
smarty巧妙处理iframe中内容页的代码
Mar 07 PHP
php教程之魔术方法的使用示例(php魔术函数)
Feb 12 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
常见的四种POST 提交数据方式(小总结)
Oct 08 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
Sep 09 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
解决php-fpm.service not found问题的办法
Jun 06 PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
php实现QQ小程序发送模板消息功能
Sep 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&amp;&amp;mysql)三
2006/10/09 PHP
PHP脚本中include文件出错解决方法
2008/11/20 PHP
php google或baidu分页代码
2009/11/26 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
2010/03/21 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
Python二维码生成识别实例详解
2019/07/16 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
python中property属性的介绍及其应用详解
2019/08/29 Python
python实现广度优先搜索过程解析
2019/10/19 Python
python的Jenkins接口调用方式
2020/05/12 Python
python工具快速为音视频自动生成字幕(使用说明)
2021/01/27 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
给小学生的新年寄语
2014/04/04 职场文书
理想点亮人生演讲稿
2014/05/21 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
安全检查汇报材料
2014/12/26 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
学校团代会开幕词
2016/03/04 职场文书