问题描述
https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.rsa?view=netcore-3.1
我正在查看RSA的文档,但无法理解.Encrypt()
和.EncryptValue()
之间的区别。我可以看到.Encrypt()
使用指定的填充模式,但是使用私钥吗?对于.EncryptValue()
,它表示使用公钥进行加密。
我想要一个功能,该功能 使用私钥加密 ,而另一个功能 使用公钥解密 >。
解决方法
我进行了更多研究,结果发现不支持方法调用(RSA.EncryptValue()
),并且抛出了NotSupportedException
。
此外,RSA.Decrypt()
使用私钥进行解密,但是RSA.Encrypt()
使用公共 和私钥 进行加密,我不是确定为什么我将为此发布一个不同的问题。
最后,据我所知,该库确实支持签名(使用私钥加密)和验证(使用私钥解密),但仅返回一个布尔值,如果验证正确与否。没有使用公钥解密并提供数据的方法。