openssl Rsa 分段加密解密
2024-08-28 22:29:14
密钥长度 1024
openssl genrsa -out rsa_private_key.pem
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
function readPublicKey($keyPath)
{
$key = file_get_contents($keyPath);
$this->rsaPublicKey = openssl_pkey_get_public($key)
}
function readPrivateKey($keyPath)
{
$key = file_get_contents($keyPath);
$this->rsaPrivateKey = openssl_pkey_get_private($key)
}
// 加密后转为base64编码
function encrypt($originalData)
{
$crypto = '';
foreach (str_split($originalData, 117) as $chunk)
{
openssl_public_encrypt($chunk, $encryptData, $this->rsaPublicKey);
$crypto .= $encryptData;
}
return base64_encode($crypto);
}
// base64 post 过来后 '+' 号变成 空格
function decrypt($encryptData)
{
$crypto = '';
foreach (str_split(str_replace(' ', '+', base64_decode($encryptData)), 128) as $chunk)
{
openssl_private_decrypt($chunk, $decryptData, $this->rsaPrivateKey);
$crypto .= $decryptData;
}
return $crypto;
}
最新文章
- IOS客户端Coding项目记录(六)
- 基本概率分布Basic Concept of Probability Distributions 8: Normal Distribution
- C++使用类型代替枚举量
- hdu 5656 CA Loves GCD(dp)
- 【转载】VS2010+VMWare8+VisualDDK1.5.6 创建并调试驱动程序 - 完全教程
- eclipse调试java调用matlab程序的7.17dll找不到的问题
- 统计SQLSERVER表行数,以及每天数据变化的行数
- matlab练习程序(渲染三原色)
- Windows 用bat脚本带配置启动redis,并用vb脚本使其在后台运行。
- Qt中的Q_D宏和d指针
- js里面判断一个字符串是否包含某个子串的方法
- sql求倒数第二大的数,效率不高,但写法新颖
- 一些收集的MikroTik RouterOS破解版虚拟机VMware
- JAVA GC优化入门
- struts2防止反复提交的办法
- 学习笔记之Elasticsearch
- activemq控制面板含义
- 有关集合的foreach循环里的add/remove
- Python 执行js的2种解决方案-乾颐堂
- pcap学习
热门文章
- 在 Java 8 中避免 Null 检查
- 定位设备--llseek实现
- JZOJ 5777. 【NOIP2008模拟】小x玩游戏
- JZOJ 1267. 路障
- 27.28. VUE学习之--事件修饰符之stop&;capture&;self&;once实例详解
- 迭代器Iterator与语法糖for-each
- 洛谷 P3740 [HAOI2014]贴海报
- Patrick and Shopping
- windows下pip安装python模块时报错【转】
- datatime来计算代码段运行时长