gpt4 book ai didi

php - 用 openssl_public_encrypt 加密的数据每次都不一样?

转载 作者:可可西里 更新时间:2023-11-01 00:53:09 27 4
gpt4 key购买 nike

为什么每次$encrypted的内容都不一样?

// aquire public key from server
$server_public_key = openssl_pkey_get_public(file_get_contents("C:\publickey.pem"));

// rsa encrypt
openssl_public_encrypt("123", $encrypted, $server_public_key);

这个我也试过

$publicKey = "file://C:/publickey.pem";
$privateKey = "file://C:/privatekey.pem";
$plaintext = "String to encrypt";

openssl_public_encrypt($plaintext, $encrypted, $publicKey);
$transfer = base64_encode($encrypted);
openssl_private_decrypt($encrypted, $decrypted, $privateKey);

echo $transfer; //encrypted string

$transfer 每次都是不同的字符串:...

Z1xyMUquARxcGjqjjSHNAm41CnHI02GXxLyFivvta8YhDkhRJdD4i3kx+8GElljdiSY/NMF9UD3ritWMLGmscdq/QyIf+geYxJFePNd1dNWg+V6zbAKRLaEpsU+aB87jiM/GjytLEDNI65dkuFg02DMZB

mRgLPsPtMoV9la7zzuU+cLzS5xMDp7QUmH6Iv4Sv4/FNjt62zcv9ZMWkfG3uVhS8Z1UDtGl+met1CYjBTcfjHCR6hahbwOkTCICXtkRQcc371vURW04XhQzMNgIIbvN5BBdmIyYI6alrS2vKUq7b3T0h8sJf36zh5CynYzyDCFU=

G5FhMoJGiUwEBvEOeZpDDrEXdxbWX5iaJ6F+VdYJ3CURPRMftskZNlDhat8gA5V0G+3nXVQZptkHjxMkOqPlmwJHjgIqAiFppHLpEKohyT9qNwkAR00Y6PiWrNUJPiEIZqXHAb8TS0AA0Quhc0UAwcc+I8NGOD59k8BrZE6Z5Ew=

最佳答案

PKCS#1 加密算法使用一些随机种子来使密文每次都不同。

这可以保护密文免受多种攻击,如频率分析、密文匹配。例如,如果您使用公钥非随机地加密所有密码。所有相同的密码将产生相同的密文。有人可以通过检查密文的频率来找出所有流行的密码。

对于对称 key 加密,IV(初始向量)具有类似的目的。

关于php - 用 openssl_public_encrypt 加密的数据每次都不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2979994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com