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 similar_text 字符串的相似性比较函数
May 26 PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
Oct 12 PHP
header中Content-Disposition的作用与使用方法
Jun 13 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
PHP生成不重复随机数的方法汇总
Nov 19 PHP
简单谈谈favicon
Jun 10 PHP
非常全面的php日期时间运算汇总
Nov 04 PHP
php cookie 详解使用实例
Nov 03 PHP
简单谈谈PHP中的Reload操作
Dec 12 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
php数组和链表的区别总结
Sep 20 PHP
PHP实现单条sql执行多个数据的insert语句方法
Oct 11 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开源建站平台小结
2010/04/22 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
javascript 跨浏览器开发经验总结(五) js 事件
2010/05/19 Javascript
Dom 是什么的详细说明
2010/10/25 Javascript
基于jquery的15款幻灯片插件
2011/04/10 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
Nuxt.js踩坑总结分享
2018/01/18 Javascript
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
javascript实现遮罩层动态效果实例
2019/05/14 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
vuex Module将 store 分割成模块的操作
2020/12/07 Vue.js
python中将字典转换成其json字符串
2014/07/16 Python
Python导入txt数据到mysql的方法
2015/04/08 Python
python3简单实现微信爬虫
2015/04/09 Python
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
Python编程求质数实例代码
2018/01/31 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
TensorFlow索引与切片的实现方法
2019/11/20 Python
使用 Python 写一个简易的抽奖程序
2019/12/08 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
法律专业实习鉴定
2013/12/22 职场文书
翻译学院毕业生自荐书
2014/02/02 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
小孩不笨观后感
2015/06/03 职场文书
庆七一晚会主持词
2015/06/30 职场文书
导游词之南迦巴瓦峰
2019/11/19 职场文书
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python