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脚本
Nov 26 PHP
推荐php模板技术[转]
Jan 04 PHP
php 应用程序安全防范技术研究
Sep 25 PHP
PHP sprintf()函数用例解析
May 18 PHP
session在PHP大型web应用中的使用
Jun 25 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
Jun 28 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
Oct 25 PHP
destoon找回管理员密码的方法
Jun 21 PHP
在Windows系统下使用PHP生成Word文档的教程
Jul 03 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
May 27 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
Oct 20 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内核学习教程之php opcode内核实现
2016/01/27 PHP
PHP实现的函数重载功能示例
2018/08/03 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
js css样式操作代码(批量操作)
2009/10/09 Javascript
javascript replace()正则替换实现代码
2010/02/26 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
浅谈 jQuery 事件源码定位问题
2014/06/18 Javascript
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
2014/12/16 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
2016/10/30 Javascript
angular中实现控制器之间传递参数的方式
2017/04/24 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
浅析vue.js数组的变异方法
2018/06/30 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
微信小程序实现无限滚动列表
2020/05/29 Javascript
通过实例讲解JS如何防抖动
2019/06/15 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python编程中装饰器的使用示例解析
2016/06/20 Python
python实现数据库跨服务器迁移
2018/04/12 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
美国批发供应商:Kole Imports
2019/04/10 全球购物
前处理组长岗位职责
2014/03/01 职场文书
结婚保证书范文
2014/04/29 职场文书
庆祝教师节演讲稿
2014/09/03 职场文书
入学证明
2015/06/23 职场文书