Php OpenSSL加密是正常的,但解密是错误的
首先,我很抱歉我的英语不好 我现在被迫使用OpenSSL并测试它 我有公钥:Php OpenSSL加密是正常的,但解密是错误的,php,encryption,openssl,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); 。。。一切正
$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:(
这怎么可能
非常感谢大家!您应该使用
openssl\u private\u decrypt()
您需要提供私钥作为参数。
尝试阅读更多关于和的信息,您应该使用openssl\u private\u decrypt()
您需要提供私钥作为参数。
尝试阅读更多关于和谢谢-我已经阅读了您的链接。但是我从哪里获得匹配的私钥?我只有一个公钥。并且需要解密数据,这些数据已经由公钥加密。我只获得了公钥、加密数据,仅此而已-因此我必须解密数据。您必须拥有私钥才能解密加密的数据ta.而且不可能从公钥和加密数据中获得匹配的私钥。你可以要求私钥的所有者提供。谢谢-我已经阅读了你的链接。但是我从哪里获得匹配的私钥?我只有公钥。并且需要解密已由公钥加密的数据。我只获得了公钥,加密的data,就是这样-顺便说一下,我必须解密数据。你必须拥有私钥才能解密加密数据。而且不可能从公钥和加密数据中获得匹配的私钥。你可以要求私钥所有者提供它。