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 相关文章推荐
smarty实例教程
Nov 19 PHP
php 攻击方法之谈php+mysql注射语句构造
Oct 30 PHP
PHP生成网页快照 不用COM不用扩展.
Feb 11 PHP
PHP自定义函数收代码
Aug 01 PHP
PHP下常用正则表达式整理
Oct 26 PHP
PHP学习之字符串比较和查找
Apr 17 PHP
PHP 验证码不显示只有一个小红叉的解决方法
Sep 30 PHP
PHP中鲜为人知的10个函数
Feb 28 PHP
Yii2使用swiftmailer发送邮件的方法
May 03 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
Jun 02 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
thinkphp5使用无限极分类
Feb 18 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
相对路径转化成绝对路径
2007/04/10 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python3 与python2 异常处理的区别与联系
2016/06/19 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
用Python写一个模拟qq聊天小程序的代码实例
2019/03/06 Python
python打印异常信息的两种实现方式
2019/12/24 Python
Python新手学习函数默认参数设置
2020/06/03 Python
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
德国旅游网站:weg.de
2018/06/03 全球购物
一份全面的PHP面试问题考卷
2012/07/15 面试题
打架检讨书800字
2014/01/10 职场文书
《我要的是葫芦》教学反思
2014/02/23 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
本溪关门山导游词
2015/02/09 职场文书
大国崛起英国观后感
2015/06/02 职场文书
行政复议答复书
2015/07/01 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android
解决 Redis 秒杀超卖场景的高并发
2022/04/12 Redis