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中return 和 exit 、break和contiue 区别与用法
Apr 09 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
php数组声明、遍历、数组全局变量使用小结
Jun 05 PHP
php实现的短网址算法分享
Jun 20 PHP
php实现QQ空间获取当前用户的用户名并生成图片
Jul 25 PHP
分享PHP计算两个日期相差天数的代码
Dec 23 PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
Oct 28 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 PHP
PHP实现判断数组是一维、二维或几维的方法
Feb 06 PHP
PHP实现一个多功能购物网站的案例
Sep 13 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 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生成静态页面详解
2006/12/05 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
css把超出的部分显示为省略号的方法兼容火狐
2008/07/23 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
利用React高阶组件实现一个面包屑导航的示例
2020/08/23 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
Python入门必须知道的11个知识点
2018/03/21 Python
解决python中 f.write写入中文出错的问题
2018/10/31 Python
PyQt5实现画布小程序
2020/05/30 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
scrapy-splash简单使用详解
2021/02/21 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
老生常谈CSS中的长度单位
2016/06/27 HTML / CSS
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
餐厅楼面部长岗位职责范文
2014/02/16 职场文书
合作意向协议书范本
2014/03/31 职场文书
政治表现评语
2014/05/04 职场文书
理财学专业自荐书
2014/06/28 职场文书
孔子观后感
2015/06/08 职场文书
企业宣传语大全
2015/07/13 职场文书