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实现用户认证及管理完全源码
Mar 11 PHP
一步一步学习PHP(2)――PHP类型
Feb 15 PHP
360通用php防护代码(使用操作详解)
Jun 18 PHP
PHP的PSR规范中文版
Sep 28 PHP
php实现转换ubb代码的方法
Jun 18 PHP
PHP 类与构造函数解析
Feb 06 PHP
php微信公众号开发之简答题
Oct 20 PHP
PHP小程序支付功能完整版【基于thinkPHP】
Mar 26 PHP
php和asp语法上的区别总结
May 12 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
Sep 16 PHP
PHPUnit + Laravel单元测试常用技能
Nov 06 PHP
Yii 框架入口脚本示例分析
May 19 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代码
2010/08/08 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
PHP中SimpleXML函数用法分析
2014/11/26 PHP
php中动态变量用法实例
2015/06/10 PHP
ThinkPHP模型详解
2015/07/27 PHP
PHP simplexml_import_dom()函数讲解
2019/02/03 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
2013/04/27 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
2015/07/29 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
基于element-ui的rules中正则表达式
2018/09/04 Javascript
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
[52:52]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第三局
2016/02/27 DOTA
python使用matplotlib绘制柱状图教程
2017/02/08 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
Python实现的质因式分解算法示例
2018/05/03 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
python实现多进程通信实例分析
2019/09/01 Python
Pytorch Tensor的统计属性实例讲解
2019/12/30 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
奢华的意大利皮革手袋:Bene Handbags
2019/10/29 全球购物
学期研究性学习个人的自我评价
2014/01/09 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
奉献家乡演讲稿
2014/09/13 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2014年转正工作总结
2014/11/08 职场文书
入党心得体会
2019/06/20 职场文书
Spring中的@Transactional的工作原理
2022/06/05 Java/Android