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类
Jul 15 PHP
PHP采集相关教程之一 CURL函数库
Feb 15 PHP
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
May 07 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
Jul 22 PHP
PHP代码优化技巧小结
Sep 29 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
Nov 20 PHP
php curl批处理实现可控并发异步操作示例
May 09 PHP
PHP实现微信退款功能
Oct 02 PHP
解决Laravel blade模板转义html标签的问题
Sep 03 PHP
PHP正则表达式之RCEService回溯
Apr 11 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中mysql_field_type()函数用法
2014/11/24 PHP
PHP在线书签系统分享
2016/01/04 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
require.js配合插件text.js实现最简单的单页应用程序
2016/07/12 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
Python3.6简单反射操作示例
2018/06/14 Python
在NumPy中创建空数组/矩阵的方法
2018/06/15 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
Python爬取梨视频的示例
2021/01/29 Python
HTML5计时器小例子
2013/10/15 HTML / CSS
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
保密工作目标责任书
2014/07/28 职场文书
投标授权委托书范文
2014/08/02 职场文书
婚宴邀请函
2015/01/30 职场文书
2015年助残日活动总结
2015/03/27 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
2016消防宣传标语口号
2015/12/26 职场文书