用公钥解密,openssl_public_decrypt就像

时间:2013-04-21 18:44:24

标签: c# openssl rsa

我有一台服务器向我发送加密邮件 此消息使用服务器的私钥加密,我正在尝试使用公钥解密它 验证方法不符合我的需要,因为它返回true或false。

我发现OpenSSL有一个名为openssl_public_decrypt的方法 我试图使用OpenSSL .Net包装器,并没有设法让它工作。

所以我在这里问是否有另一个可以用公钥解密的库并返回解密的消息,比如OpenSSL的那个?

提前致谢!

2 个答案:

答案 0 :(得分:0)

私钥通常用于解密,但在您描述的情况下,使用另一种方法。服务器使用私钥解密数据,然后将其发送到客户端。这样,当客户端使用公钥加密收到的消息时,它会获取原始数据。

如果您正在开发服务器和客户端,则应尝试此方法。如果服务器属于其他人,他们可能已经使用它了。

至于实现,您可以尝试使用内置的.Net类进行不对称加密。假设服务器使用RSA算法进行加密,您可以使用RSACryptoServiceProvider类。

答案 1 :(得分:0)

如果你想自己做加密,你可能想看看这里 https://stackoverflow.com/a/15706744/706119

我写了另一个问题,但你可以在你的场景中使用它

这是使用Bigint的RSA的一个小实现...你将不得不自己处理填充,但你可以解密...