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 相关文章推荐
一个用php3编写的简单计数器
Oct 09 PHP
mysql 搜索之简单应用
Apr 27 PHP
set_include_path和get_include_path使用及注意事项
Feb 02 PHP
php中filter函数验证、过滤用户输入的数据
Jan 13 PHP
PHP实现一维数组转二维数组的方法
Feb 25 PHP
PHP语法小结之基础和变量
Nov 22 PHP
Yii使用技巧大汇总
Dec 29 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
Laravel 实现密码重置功能
Feb 23 PHP
详解PHP变量传值赋值和引用赋值变量销毁
Mar 23 PHP
yii2 开发api接口时优雅的处理全局异常的方法
May 14 PHP
php适配器模式简单应用示例
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 pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
php入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
easyui datagrid 键盘上下控制选中行示例
2014/03/31 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
使用jquery给指定的table动态添加一行、删除一行
2016/10/13 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
Js和VUE实现跑马灯效果
2020/05/25 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
Python换行与不换行的输出实例
2020/02/19 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
分厂厂长岗位职责
2013/12/29 职场文书
初二物理教学反思
2014/01/29 职场文书
公证委托书模板
2014/04/03 职场文书
邹越感恩父母演讲稿
2014/08/28 职场文书
化妆品促销活动总结
2015/05/07 职场文书
公司人力资源管理制度
2015/08/05 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS