在C#中加密大字符串 - 最佳实践

时间:2014-06-05 05:51:22

标签: encryption cryptography rsa

我正在开发一个C#项目,我想知道加密大字符串的最佳/最有效方法是什么?

已经有加密机制来加密密码和其他较小的字段。我在那里使用RSA加密(RSACryptoServiceProvider类),但我目前能够使用我的2048位密钥加密相当小的字符串 - 最多约150个字符。

加密较大字符串的最佳方法是什么 - 约4000个字符?任何指针都会受到赞赏。

1 个答案:

答案 0 :(得分:3)

使用对称和非对称加密的混合a.k.a。hybrid encryption来加密大数据是很常见的。

从技术上讲,你可以自己生成对称的AES密钥,用它加密大数据,然后用不对称的RSA密钥加密小的对称密钥;或者你可以使用EnvelopedCms class(这里是你的特定用例的example)来为你做这件事,并将所有必需的数据放入CMS数据结构中,该数据结构也可以与许多数据结构互操作广泛使用的加密库和工具。