PHP7.1实现的AES与RSA加密操作示例


Posted in PHP onJune 15, 2018

本文实例讲述了PHP7.1实现的AES与RSA加密操作。分享给大家供大家参考,具体如下:

AES:

<?php
header('Content-Type: text/plain;charset=utf-8');
$data = 'phpbest';
$key = 'oScGU3fj8m/tDCyvsbEhwI91M1FcwvQqWuFpPoDHlFk='; //echo base64_encode(openssl_random_pseudo_bytes(32));
$iv = 'w2wJCnctEG09danPPI7SxQ=='; //echo base64_encode(openssl_random_pseudo_bytes(16));
echo '内容: '.$data."\n";
$encrypted = openssl_encrypt($data, 'aes-256-cbc', base64_decode($key), OPENSSL_RAW_DATA, base64_decode($iv));
echo '加密: '.base64_encode($encrypted)."\n";
$encrypted = base64_decode('To3QFfvGJNm84KbKG1PLzA==');
$decrypted = openssl_decrypt($encrypted, 'aes-256-cbc', base64_decode($key), OPENSSL_RAW_DATA, base64_decode($iv));
echo '解密: '.$decrypted."\n";
?>

openssl生成rsa密钥对(私钥/公钥):

openssl genrsa -out rsa_private_key.pem 2048
openssl rsa -pubout -in rsa_private_key.pem -out rsa_public_key.pem

RSA:

<?php
header('Content-Type: text/plain;charset=utf-8');
$data = 'phpbest';
echo '原始内容: '.$data."\n";
openssl_public_encrypt($data, $encrypted, file_get_contents(dirname(__FILE__).'/rsa_public_key.pem'));
echo '公钥加密: '.base64_encode($encrypted)."\n";
$encrypted = base64_decode('nMD7Yrx37U5AZRpXukingESUNYiSUHWThekrmRA0oD0=');
openssl_private_decrypt($encrypted, $decrypted, file_get_contents(dirname(__FILE__).'/rsa_private_key.pem'));
echo '私钥解密: '.$decrypted."\n";
?>
PHP 相关文章推荐
利用PHP和AJAX创建RSS聚合器的代码
Mar 13 PHP
PHP 第一节 php简介
Apr 28 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
Nov 19 PHP
php中判断数组相等的方法以及数组运算符介绍
Mar 30 PHP
PHP微信支付实例解析
Jul 22 PHP
PHP中类的自动加载的方法
Mar 17 PHP
自制PHP框架之设计模式
May 07 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 PHP
thinkphp框架类库扩展操作示例
Nov 26 PHP
PHP变量的作用范围实例讲解
Dec 22 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 #PHP
PHP堆栈调试操作简单示例
Jun 15 #PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 #PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 #PHP
基于swoole实现多人聊天室
Jun 14 #PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 #PHP
php实现微信公众平台发红包功能
Jun 14 #PHP
You might like
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
php懒人函数 自动添加数据
2011/06/28 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
解决jQuery使用JSONP时产生的错误
2015/12/02 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
webpack4实现不同的导出类型
2019/04/09 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
javascript实现点亮灯泡特效示例
2019/10/15 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
粗略分析Python中的内存泄漏
2015/04/23 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
提升Python程序性能的7个习惯
2019/04/14 Python
Python缓存技术实现过程详解
2019/09/25 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
django 装饰器 检测登录状态操作
2020/07/02 Python
python实现图像外边界跟踪操作
2020/07/13 Python
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
最常使用的求职信
2014/05/25 职场文书
golang 语言中错误处理机制
2021/08/30 Golang
python保存图片的四个常用方法
2022/02/28 Python