OpenSSL加密是可以的,但解密是错误的

czL*_*sss 1 php encryption openssl

首先,我很抱歉我的英语不好.

我被迫使用OpenSSL并立即进行测试.

我有公钥:

$key = "{key}"; 
$key = "-----BEGIN PUBLIC KEY-----\n" . wordwrap($key, 64, "\n", true) . "\n-----END PUBLIC KEY-----";
Run Code Online (Sandbox Code Playgroud)

当我使用:

$secret = "test";
$test = openssl_public_encrypt($secret, $encrypted, $key);
Run Code Online (Sandbox Code Playgroud)

...一切都很好,$ test是真的 - 所以加密是可以的.

但现在,我想要解密它,所以我使用:

$ok = openssl_public_decrypt($encrypted, $vys, $key);
Run Code Online (Sandbox Code Playgroud)

...在这个地方,$ ok变量包含false :(怎么可能?

非常感谢所有人!

Chi*_*ieh 5

你应该解密,openssl_private_decrypt()
你需要提供私钥作为参数.
尝试阅读有关公钥加密openssl_public_encrypt的更多信息