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图片上传程序
Mar 27 PHP
PHP 开发环境配置(Zend Server安装)
Apr 28 PHP
php标签云的实现代码
Oct 10 PHP
使用dump函数,给php加断点测试
Jun 25 PHP
php分页示例分享
Apr 30 PHP
destoon常用的安全设置概述
Jun 21 PHP
php获取一个变量的名字的方法
Sep 05 PHP
PHP实现事件机制的方法
Jul 10 PHP
3种php生成唯一id的方法
Nov 23 PHP
php仿微信红包分配算法的实现方法
May 13 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
phpQuery采集网页实现代码实例
Apr 02 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/09/01 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
JS小功能(列表页面隔行变色)简单实现
2013/11/28 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
vue离开当前页面触发的函数代码
2020/09/01 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
python实现删除文件与目录的方法
2014/11/10 Python
详解Python中的变量及其命名和打印
2016/03/11 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
函授教育个人学习的自我评价
2013/12/31 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
采购员工作总结范文
2015/08/12 职场文书
远程教育培训心得体会
2016/01/09 职场文书
2016年政治理论学习心得体会
2016/01/25 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis