RSA.Encrypt() 和 RSA.EncryptValue() 之间的区别

Difference between RSA.Encrypt() and RSA.EncryptValue()

https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.rsa?view=netcore-3.1

我正在看 RSA 的文档,我无法理解 .Encrypt().EncryptValue() 之间的区别。我可以看到 .Encrypt() 使用了指定的填充模式,但是它使用私钥吗?对于 .EncryptValue(),它说它使用 public 密钥进行加密。

我想要一个 使用私钥加密的函数 和另一个 使用 public 密钥解密.

我研究了一些,结果发现不支持方法调用 (RSA.EncryptValue()) 并且抛出了一个 NotSupportedException

此外,RSA.Decrypt()使用私钥解密,但RSA.Encrypt()使用public和私钥 用于加密,我不确定为什么。我会 post 一个不同的问题。

最后,据我所见(也许我在这里错了,在这种情况下纠正我),库确实支持签名(使用私钥加密)和验证(使用私钥解密),但它只returns 如果验证正确或不正确,则为布尔值。没有使用 public 密钥解密并返回数据的方法。