我应该使用RSACryptoServiceProvider.Encrypt加密多少数据?

时间:2012-07-13 00:43:16

标签: encryption

我在网上找到了一个使用RSACryptoServiceProvider.Encrypt的例子,它加密和解密一个字符串。直到现在我才意识到,这是一个坏主意吗?我应该使用像RijndaelManaged这样的东西,用RSACryptoServiceProvider.Encrypt加密密钥和IV(48字节),然后用AES加密其余的数据吗?

额外的问题:如果我尝试加密1k +或给我糟糕的性能,RSACryptoServiceProvider会在我脸上爆炸吗?

1 个答案:

答案 0 :(得分:2)

是的,将RSA与Rijndael结合使用是最佳解决方案。在相应的MSDN页面上有一个示例。

额外答案:如果您尝试传递的数据多于提供程序实例允许的数(对于默认的1024位(128字节)密钥和默认的PKCS#1.5 11字节填充,则为117字节)将抛出CryptographicException。如果你尝试使用某种循环方法来传递数据,那么它会给你带来糟糕的性能。