rsa生成公私钥php,php中rsa生成公私钥和加解密
php中rsa生成公私钥和加解密
注意:php使用RSA时需要开启openssl扩展
生成公私钥
//创建公私钥
$res = openssl_pkey_new();
//获取私钥
openssl_pkey_export($res, $private_key);
//获取公钥
$public_key = openssl_pkey_get_details($res)[‘key‘];
//组合rsa
$rsa = [
‘public_key‘ => $public_key,
‘private_key‘ => $private_key,
];
echo "
";
var_dump($rsa);
exit;
结果:
rsa加解密
这里把上面获取的公私钥分别保存到变量 $public_key,$private_key
公钥加密,私钥解密
/**
* 公钥加密
*/
$data = ‘rsa加密解密‘;
//解析公钥
$res = openssl_pkey_get_public($public_key);
//使用公钥加密数据
openssl_public_encrypt($data, $crypted, $res);
echo "
";
var_dump($crypted);
exit;
加密后结果:
/**
* 私钥解密
*/
//解析私钥
$res = openssl_pkey_get_private($private_key);
//使用私钥解密数据
openssl_private_decrypt($crypted, $decrypted, $res);
echo "
";
var_dump($decrypted);
exit;
解密后结果:
私钥加密,公钥解密
/**
* 私钥加密
*/
$data = ‘rsa加密解密‘;
//解析私钥
$res = openssl_pkey_get_private($private_key);
//使用私钥加密
openssl_private_encrypt($data, $crypted, $res);
/**
* 公钥解密
*/
//解析公钥
$res = openssl_pkey_get_public($public_key);
openssl_public_decrypt($data, $decrypted, $res);
echo "
";
var_dump($decrypted);
exit;
结果和公钥加密,私钥解密差不多,这里就不截图了
使用场景
私钥加密,公钥解密: 用于签名
公钥加密,私钥解密: 用于加解密
原文:https://www.cnblogs.com/trblog/p/13149931.html
rsa生成公私钥php,php中rsa生成公私钥和加解密相关推荐
- 中职生计算机系自我推荐作文,中职生自我鉴定
短短的两年中职生活即将离去,在箐箐校园中,老师的教诲,同学们的友爱以及各方面的熏陶.使我获得许多知识.懂得许多道理.收获很多,本人勤奋好学.勤学苦练.努力学习文化知识,专业技能.遵守中学生行为规范. ...
- linux rsa登录改密码登录_LINUX中RSA认证登录SSH(不需要输入密码登录)2种方法
方法一, 有的时候经常需要登录ssh,每次都需要输入密码,会比较繁琐.所以设置了一下使用RSA公钥认证的方式登录Linux. 首先需要在服务器端设置/etc/ssh/sshd_config # vim ...
- 如何上好中职生的计算机课,如何上好中职生计算机基础课.doc
如何上好中职生计算机基础课 如何上好中职生计算机基础课 摘 要:计算机基础课虽不是专业课,但中职生一定要能较为熟练的使用计算机,所以,上好这门课很重要.计算机在我们的生活中不只是越来越普及的状态,而是 ...
- linux 公私钥生成,[c++,openssl,RSA] linux下编程实现生成公私钥对_1
在这篇文章中简单介绍一下如何编译安装和使用第三方库 OpenSSL ,并在 OpenSSL 提供的 API 的基础上生成存放 RSA 类型的公密钥对的文件. 什么是密钥 ? 密钥根据加密密钥和解密密钥 ...
- ras私钥c#转java_C#RSA对接JAVA中RSA方式代码实例
C#中通过FromXmlString属性加载的是XML形式,而JAVA中用到的是解析后的PEM格式的字符串,总之读取证书中信息无非是转换方式问题 /// /// c# 使用 java 的公钥进行rsa ...
- 非对称加密算法之RSA介绍及OpenSSL中RSA常用函数使用举例
RSA算法,在1977年由Ron Rivest.Adi Shamirh和LenAdleman,在美国的麻省理工学院开发完成.这个算法的名字,来源于三位开发者的名字.RSA已经成为公钥数据加密标准. R ...
- java的rsa作用_java 中RSA的方式实现非对称加密的实例
java 中rsa的方式实现非对称加密的实例 rsa通俗理解: 你只要去想:既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密:同理,既然是签名,那肯 ...
- [crypto]-52-python3中rsa(签名验签加密解密)aes(ecb cbc ctr)hmac的使用,以及unittest测试用
环境: 在ubuntu14.04下,记得安装:sudo pip3 install pycrypto 代码示例1: =========================== import base64 f ...
- 叙述无保密机制的rsa签名过程_安全系列之——RSA的公钥私钥有多少人能分的清楚?RSA的签名验签与加密解密如何使用公私钥?...
在对接很多的互联网公司的开发平台时,这些互联网公司未来自身平台的安全,都会需要调用方签名确认调用方的身份是合法的,同时未来信息网络传输的安全可能还需要加密解密.比如对接支付宝.微信开放平台时,需要配置 ...
最新文章
- 【Redis】Linux下Redis安装与redis-desktop-manager使用(无法连接Redis服务器解决方法)...
- SPI、I2C、UART 三种串行总线对比介绍
- oracle.01081 cannot,ORA-01081: cannot start already-running ORACLE - shut it down first
- python内置数据类型与特点_初学Python之内置数据类型一
- Code-First Development with Entity Framework 4
- C/C++访问PostgreSQL数据库
- JAVA-上转型对象,下转型对象
- 【2030】排队打水问题
- HDU-1150 Machine Schedule 二分图匹配
- 获取电脑的唯一识别码_无锡电脑办公,office软件培训,学会为止
- IDEA界面SVN回滚到历史指定版本
- Unity Graph View打造图形化对话编辑系统(三)
- 后缀为 axd 与 ashx 的文件有什么区别
- Jetpack:Room超详细使用踩坑指南!
- 牛逼哄哄的数据库连接池,底层原理是个啥?
- 使用串口转USB连接树莓派
- Spring常用设计模式--简单工厂模式
- git fatal: schannel: next InitializeSecurityContext failed: SEC E CERT EXPIRED (0x80090328)
- 如何写一个vscode插件
- Keil调试时候提示 The window position data for this project is inconsistent解决方法