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 相关文章推荐
PHP4 与 MySQL 交互使用
Oct 09 PHP
php escape URL编码
Dec 10 PHP
php array_unique之后json_encode需要注意
Jan 02 PHP
解析smarty模板中类似for的功能实现
Jun 18 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
Mar 21 PHP
深入理解PHP中的empty和isset函数
May 26 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
Oct 11 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 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计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
Jquery 常用方法经典总结
2010/01/28 Javascript
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
JavaScript数组复制详解
2017/02/02 Javascript
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
python字符串替换示例
2014/04/24 Python
python中二维阵列的变换实例
2014/10/09 Python
Python中使用gzip模块压缩文件的简单教程
2015/04/08 Python
解析Python中的二进制位运算符
2015/05/13 Python
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
python实现windows下文件备份脚本
2018/05/27 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
python实现QQ批量登录功能
2019/06/19 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Python实现GIF图倒放
2020/07/16 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
抽象类和接口的区别
2012/09/19 面试题
如何在Shell脚本中使用函数
2015/09/06 面试题
学校领导班子对照检查材料
2014/09/24 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书