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如何透过ODBC来存取数据库
Oct 09 PHP
phpinfo 系统查看参数函数代码
Jun 05 PHP
PHP类的使用 实例代码讲解
Dec 28 PHP
php中使用redis队列操作实例代码
Feb 07 PHP
php随机显示图片的简单示例
Feb 15 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
Oct 15 PHP
Linux下安装PHP MSSQL扩展教程
Oct 24 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
PHP中的正则表达式实例详解
Apr 25 PHP
PHP基于PDO扩展操作mysql数据库示例
Dec 24 PHP
laravel清除视图缓存的代码
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 保留字列表
2012/10/04 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
PHP7 新增功能
2021/03/09 PHP
认识延迟时间为0的setTimeout
2008/05/16 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
[01:16:28]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第二场 2月23日
2021/03/11 DOTA
python实现分页效果
2017/10/25 Python
python删除字符串中指定字符的方法
2018/08/13 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
Python的互斥锁与信号量详解
2019/09/12 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
Python Pillow(PIL)库的用法详解
2020/09/19 Python
神经网络训练采用gpu设置的方式
2021/03/03 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
国贸专业个人求职信范文
2014/01/08 职场文书
教师产假请假条
2014/04/10 职场文书
服务理念标语
2014/06/18 职场文书
大学课外活动总结
2014/07/09 职场文书
2014年学生会工作总结
2014/11/07 职场文书
2014年幼师工作总结
2014/11/22 职场文书
工作调动申请报告
2015/05/18 职场文书
开天辟地观后感
2015/06/09 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书
Angular CLI发布路径的配置项浅析
2021/03/29 Javascript
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL