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 相关文章推荐
html中select语句读取mysql表中内容
Oct 09 PHP
php导入导出excel实例
Oct 25 PHP
php分页函数示例代码分享
Feb 24 PHP
yii2.0之GridView自定义按钮和链接用法
Dec 15 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
Mar 19 PHP
php实现对两个数组进行减法操作的方法
Apr 17 PHP
php身份证号码检查类实例
Jun 18 PHP
PHP pear安装配置教程
May 14 PHP
PHP设计模式之工厂模式与单例模式
Sep 28 PHP
详解EventDispatcher事件分发组件
Dec 25 PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 PHP
php学习笔记之字符串常见操作总结
Jul 16 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 split()函数的用法详解
2013/06/05 PHP
PHP使用SOAP调用.net的WebService数据
2013/11/12 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
XML的代替者----JSON
2007/07/21 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
Angular中ng-bind和ng-model的区别实例详解
2017/04/10 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
[31:47]夜魇凡尔赛茶话会 第三期01:选手知多少
2021/03/11 DOTA
Python查找相似单词的方法
2015/03/05 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
用Python解决x的n次方问题
2019/02/08 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
python实现局域网内实时通信代码
2019/12/22 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
Keras在训练期间可视化训练误差和测试误差实例
2020/06/16 Python
行政助理工作职责范本
2014/03/04 职场文书
副处级干部考察材料
2014/05/17 职场文书
数控机床专业自荐信
2014/05/19 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
党员个人年度总结
2015/02/14 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
物资采购管理制度
2015/08/06 职场文书
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript
JS实现九宫格拼图游戏
2022/06/28 Javascript