解决超长加密问题思路:分割分段加密
<?php
/**
* RSA加解密超长处理
*/
namespace leyangjun\Lib;
class CryptRsa
{
use InstanceTrait;
const RSA_ENCRYPT_BLOCK_SIZE = 117;
const RSA_DECRYPT_BLOCK_SIZE = 128;
/**
* 转成标格式(有时你会发现别人给你的秘钥不是标准格式,可以用此方法将其转成标注格式)
* @Add 乐杨俊 leyangjun
* @param $key
* @return string
*/
public function setSPhptandardFormat($key)
{
$pem = chunk_split($key, 64, "\n");
$pem = "-----BEGIN PUBLIC KEY-----\n" . $pem . "-----END PUBLIC KEY-----\n";
//$publicKey = openssl_pkey_get_public($pem);
return $pem;
}
/**
* 超长加密(由于秘钥有长度限制比如1024,2048约长表示接受的加密数据越多,否则会有超长加密不成功的问题)
* 117表示长度,加密的时候可以从这开始分割加密(解密的时候从128开始解密即可)
* @Add 乐杨俊 leyangjun
* @param String $content 待加密内容
* @param String $path_rsa_public_key RSA公钥路径(绝对)
*/
public function superLongPublicKeyEncrypt($content, $rsaPublicKey, $choicePath = true, $withBase64 = false)
{
PHP RSA加解密工具,超长加密问题处理(二)
最新推荐文章于 2024-03-19 16:59:00 发布
本文详细介绍了如何使用PHP进行RSA加解密,特别是针对超长数据的处理,提供了一种有效的解决方案。作者乐杨俊分享了其在处理过程中遇到的问题及解决方法,链接指向了优快云上的详细文章。

最低0.47元/天 解锁文章
1928

被折叠的 条评论
为什么被折叠?



