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初学者们头痛的十四个问题
Jan 15 PHP
PHP中实现汉字转区位码应用源码实例解析
Jun 14 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
Jul 31 PHP
调试PHP程序的多种方法介绍
Nov 06 PHP
php绘制一个扇形的方法
Jan 24 PHP
php使用cookie显示用户上次访问网站日期的方法
Jan 26 PHP
php实现文本数据导入SQL SERVER
May 17 PHP
使用PHP编写发红包程序
Jul 22 PHP
最新制作ThinkPHP3.2.3完全开发手册
Nov 23 PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 PHP
php倒计时出现-0情况的解决方法
Jul 28 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Jan 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
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
2017/02/08 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
不错的新闻标题颜色效果
2006/12/10 Javascript
js 效率组装字符串 StringBuffer
2009/12/23 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
js 求时间差的实现代码
2016/04/26 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
Python实现的堆排序算法原理与用法实例分析
2017/11/22 Python
django允许外部访问的实例讲解
2018/05/14 Python
Windows下PyCharm安装图文教程
2018/08/27 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
python实现三维拟合的方法
2018/12/29 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
一道Delphi面试题
2016/10/28 面试题
亲子拓展活动方案
2014/02/20 职场文书
搞笑的获奖感言
2014/08/16 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
丧事答谢词
2015/01/05 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书