我可以加密小字符串,但是当它超过 118 个字符时似乎不起作用?任何的想法 ?
private function encryptData($plaintext) {
$plaintext = '{ "id":"1" "name":"Bottled Beer" "description":"" "parent_id":"111" "taxonomy":"SIMPLE_PLU" },{ "id":"2" "name":"Stout" }';
$publicKey = "../ssh_keys/coasts/public/pub.pem";
$fp=fopen($publicKey,"r");
$pub_key_string=fread($fp,8192);
fclose($fp);
$pubKey = openssl_pkey_get_public($pub_key_string);
openssl_public_encrypt($plaintext, $encrypted, $pubKey);
return $encrypted;
}
Run Code Online (Sandbox Code Playgroud)
用于加密的明文数据的长度取决于您的密钥长度,它不能大于密钥长度减去11的数字。例如,如果您使用2048位密钥,则最大长度为2048/8 - 11 = 245。
如果您需要处理超过该限制的数据,您可以将您的纯数据分成块,对它们进行加密并连接密码块(它们的长度总是等于您的密钥长度(以字节为单位))。当然,您必须在解密串联的密码数据时执行相同的操作。
| 归档时间: |
|
| 查看次数: |
1219 次 |
| 最近记录: |