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中调用ASP.NET的WebService的代码
Apr 22 PHP
PHP中3种生成XML文件方法的速度效率比较
Oct 06 PHP
windows下配置apache+php+mysql时出现问题的处理方法
Jun 20 PHP
php程序内部post数据的方法
Mar 31 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
Aug 08 PHP
php文件缓存方法总结
Mar 16 PHP
php的laravel框架快速集成微信登录的方法
Dec 12 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
利用PHP扩展Xhprof分析项目性能实践教程
Sep 05 PHP
PHP实现的敏感词过滤方法示例
Mar 06 PHP
laravel5.6中的外键约束示例
Oct 23 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函数解决SQL injection
2006/10/09 PHP
用Flash图形化数据(一)
2006/10/09 PHP
PHP中的日期及时间
2006/11/23 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
php中smarty实现多模版网站的方法
2015/06/11 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
Node.js中使用Buffer编码、解码二进制数据详解
2014/08/16 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
layui输入框只允许输入中文且判断长度的例子
2019/09/18 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
Python3中的2to3转换工具使用示例
2015/06/12 Python
Python实现购物程序思路及代码
2017/07/24 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
Python如何进行时间处理
2020/08/06 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
医药工作岗位求职信分享
2013/12/31 职场文书
网吧消防安全制度
2014/01/28 职场文书
十佳护士获奖感言
2014/02/18 职场文书
创建无烟单位实施方案
2014/03/29 职场文书
目标管理责任书
2014/04/15 职场文书
党员三严三实心得体会
2014/10/13 职场文书
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL