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 download.php实现代码 跳转到下载文件(response.redirect)
Aug 26 PHP
PHP生成图片验证码、点击切换实例
Jun 25 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
Sep 06 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
Nov 19 PHP
php实现的树形结构数据存取类实例
Nov 29 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
Aug 17 PHP
php简单截取字符串代码示例
Oct 19 PHP
php array_values 返回数组的所有值详解及实例
Nov 12 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP实现生成推广海报的方法详解
Mar 14 PHP
Laravel find in set排序实例
Oct 09 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
PHP怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
PHP常用数组函数介绍
2014/07/28 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
php时间戳转换代码详解
2019/08/04 PHP
javascript中对对层的控制
2006/12/29 Javascript
关于JavaScript的一些看法
2009/05/27 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
javascript使用输出语句实现网页特效代码
2015/08/06 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
2017/07/21 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
从零学Python之入门(四)运算
2014/05/27 Python
详解Python中for循环的使用
2015/04/14 Python
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
Python编写电话薄实现增删改查功能
2016/05/07 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
在python里从协程返回一个值的示例
2019/02/19 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
美国社交购物市场:MassGenie
2019/02/18 全球购物
美津浓巴西官方网站:Mizuno巴西
2019/07/24 全球购物
银行个人求职自荐信范文
2013/12/16 职场文书
调查研究项目计划书
2014/04/29 职场文书
团日活动总结报告
2014/06/25 职场文书
创先争优标语
2014/06/27 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
销售业务员岗位职责
2015/02/13 职场文书
村官个人总结范文
2015/03/03 职场文书