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 相关文章推荐
基于mysql的bbs设计(四)
Oct 09 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
Sep 13 PHP
php json转换成数组形式代码分享
Nov 10 PHP
php使用for语句输出三角形的方法
Jun 09 PHP
php基于双向循环队列实现历史记录的前进后退等功能
Aug 08 PHP
PHP比较运算符的详细介绍
Sep 29 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
Feb 23 PHP
php自动提交表单的方法(基于fsockopen与curl)
May 09 PHP
PHP反射API示例分享
Oct 08 PHP
php7 安装yar 生成docker镜像
May 09 PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
Oct 06 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 中的输出缓冲
2006/12/21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
php的对象传值与引用传值代码实例讲解
2021/02/26 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
JavaScript数组方法的错误使用例子
2018/09/13 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
2020/06/19 Javascript
关于vue 结合原生js 解决echarts resize问题
2020/07/26 Javascript
vue中jsonp插件的使用方法示例
2020/09/10 Javascript
wxpython学习笔记(推荐查看)
2014/06/09 Python
python检测某个变量是否有定义的方法
2015/05/20 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
2020/03/13 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
详解如何将 Canvas 绘制过程转为视频
2021/01/25 HTML / CSS
2019年Java 最常见的 面试题
2016/10/19 面试题
报关简历自我评价怎么写
2013/09/19 职场文书
机械设计及其自动化专业推荐信
2013/10/31 职场文书
旅游市场营销方案
2014/03/09 职场文书
企业文化建设实施方案
2014/03/22 职场文书
软件售后服务承诺书
2014/05/21 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
建国大业观后感800字
2015/06/01 职场文书
2016春季运动会开幕词
2016/03/04 职场文书
redis数据一致性的实现示例
2022/03/18 Redis
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers