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

时间:2013-12-27 09:14:55

标签: php encryption openssl

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

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

我有公钥:

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

当我使用时:

$secret = "test";
$test = openssl_public_encrypt($secret, $encrypted, $key);

......一切正常,$ test是真的 - 所以加密就可以了。

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

$ok = openssl_public_decrypt($encrypted, $vys, $key);

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

非常感谢所有人!

1 个答案:

答案 0 :(得分:5)

您应该使用openssl_private_decrypt()解密 并且您需要提供私钥作为参数 尝试详细了解public key encryptionopenssl_public_encrypt