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中static关键字原理的学习研究分析
Jul 18 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
php中smarty模板条件判断用法实例
Jun 11 PHP
浅谈php+phpStorm+xdebug配置方法
Sep 17 PHP
9个比较实用的php代码片段
Mar 15 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
Mar 21 PHP
PHP常见的几种攻击方式实例小结
Apr 29 PHP
PHP下载大文件失败并限制下载速度的实例代码
May 10 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 PHP
使用laravel指定日志文件记录任意日志
Oct 17 PHP
PHP实现倒计时功能
Nov 16 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
php设计模式之观察者模式的应用详解
2013/05/21 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
PHP+Ajax 检测网络是否正常实例详解
2016/12/16 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
JavaScript对象参数的引用传递
2016/01/14 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
原生JS获取元素集合的子元素宽度实例
2016/12/14 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
vue基于Element构建自定义树的示例代码
2017/09/19 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
Python用模块pytz来转换时区
2016/08/19 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
Python Django路径配置实现过程解析
2020/11/05 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
CSS3感应鼠标的背景闪烁和图片缩放动画效果
2014/05/14 HTML / CSS
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
自荐信格式技巧有哪些呢
2013/11/19 职场文书
公司经理聘任书
2014/03/29 职场文书
运动会演讲稿
2014/05/07 职场文书
家长建议怎么写
2014/05/15 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书