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 相关文章推荐
用Flash图形化数据(一)
Oct 09 PHP
PHP初学入门
Nov 19 PHP
PHP-Fcgi下PHP的执行时间设置方法
Aug 02 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
Apr 24 PHP
CI框架中zip类应用示例
Jun 17 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
PHP中的Streams详细介绍
Nov 12 PHP
PHP面相对象中的重载与重写
Feb 13 PHP
PHP使用Session实现上传进度功能详解
Aug 06 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
laravel 框架执行流程与原理简单分析
Feb 01 PHP
phpStorm2020 注册码
Sep 17 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
删除无限级目录与文件代码共享
2006/07/12 PHP
MySQL授权问题总结
2007/05/06 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
php中批量修改文件后缀名的函数代码
2011/10/23 PHP
PHP文件缓存类示例分享
2015/01/30 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
浅谈php的优缺点
2015/07/14 PHP
php遍历目录下文件并按修改时间排序操作示例
2019/07/12 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
jQuery 选择器理解
2010/03/16 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
javascript页面加载完执行事件代码
2014/02/11 Javascript
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
分享十三个最佳JavaScript数据网格库
2017/04/07 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
python实现多线程采集的2个代码例子
2014/07/07 Python
python中的reduce内建函数使用方法指南
2014/08/31 Python
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
Python读取excel指定列生成指定sql脚本的方法
2018/11/28 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
Myprotein葡萄牙官方网站:英国优质运动营养品牌
2016/09/12 全球购物
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
英文商务邀请信
2014/01/22 职场文书
小学生期末评语
2014/04/21 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书