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 相关文章推荐
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
PHP警告Cannot use a scalar value as an array的解决方法
Jan 11 PHP
php比较多维数组中值的大小排序实现代码
Sep 08 PHP
php xml常用函数的集合(比较详细)
Jun 06 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
discuz图片顺序混乱解决方案
Jul 29 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
PHPMailer发送邮件
Dec 28 PHP
Yii框架日志记录Logging操作示例
Jul 12 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 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缩略图生成程式(需要GD库支持)
2007/03/06 PHP
PHP远程采集图片详细教程
2014/07/01 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
JavaScript生成随机字符串的方法
2015/03/19 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
JavaScript DOM节点操作方法总结
2016/08/23 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
js循环map 获取所有的key和value的实现代码(json)
2018/05/09 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
python一键去抖音视频水印工具
2018/09/14 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
2019/01/15 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
如何使用python切换hosts文件
2020/04/29 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
美国老牌主机服务商:iPage
2016/07/22 全球购物
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
融资租赁计划书
2014/04/29 职场文书
横幅标语大全
2014/06/17 职场文书
住房租房协议书
2014/08/20 职场文书
语文复习计划
2015/01/19 职场文书
2015年教师自我评价范文
2015/03/04 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android