php实现基于openssl的加密解密方法


Posted in PHP onSeptember 30, 2016

本文实例讲述了php实现基于openssl的加密解密方法。分享给大家供大家参考,具体如下:

通过openssl加密解密方法

1. openssl加密方法:

function encrypt($id){
  $id=serialize($id);
  $key="1112121212121212121212";
  $data['iv']=base64_encode(substr('fdakinel;injajdji',0,16));
  $data['value']=openssl_encrypt($id, 'AES-256-CBC',$key,0,base64_decode($data['iv']));
  $encrypt=base64_encode(json_encode($data));
  return $encrypt;
}

2. openssl解密方法:

function decrypt($encrypt)
{
  $key = '1112121212121212121212';//解密钥匙
  $encrypt = json_decode(base64_decode($encrypt), true);
  $iv = base64_decode($encrypt['iv']);
  $decrypt = openssl_decrypt($encrypt['value'], 'AES-256-CBC', $key, 0, $iv);
  $id = unserialize($decrypt);
  if($id){
    return $id;
  }else{
    return 0;
  }
}

PHP 相关文章推荐
如何在PHP中使用Oracle数据库(6)
Oct 09 PHP
缓存技术详谈―php
Dec 14 PHP
PHP iconv 函数转gb2312的bug解决方法
Oct 11 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
php SQL Injection with MySQL
Feb 27 PHP
PHP学习散记_编码(json_encode 中文不显示)
Nov 10 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 PHP
PHP脚本自动识别验证码查询汽车违章
Dec 20 PHP
php preg_match的匹配不同国家语言实例
Dec 29 PHP
thinkPHP框架实现的短信接口验证码功能示例
Jun 20 PHP
php多进程应用场景实例详解
Jul 22 PHP
Laravel框架控制器的request与response用法示例
Sep 30 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 #PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 #PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
Sep 30 #PHP
利用PHP生成静态html页面的原理
Sep 30 #PHP
Yii2框架实现注册和登录教程
Sep 30 #PHP
php多线程并发实现方法
Sep 30 #PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 #PHP
You might like
一些常用的php简单命令代码集锦
2007/09/24 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
2011/07/29 PHP
php中final关键字用法分析
2016/12/07 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
PHP中TP5 上传文件的实例详解
2017/07/31 PHP
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
轻量级的原生js日历插件calendar.js使用指南
2015/04/28 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
js截取字符串功能的实现方法
2017/09/27 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
如何给element添加一个抽屉组件的方法步骤
2019/07/14 Javascript
ES6中new Function()语法及应用实例分析
2020/02/19 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
python的keyword模块用法实例分析
2015/06/30 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
浅谈Python基础之I/O模型
2017/05/11 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
公司总经理岗位职责
2014/03/15 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
销售2014年度工作总结
2014/12/08 职场文书
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL