可能重复:
C# 的简单 2 路加密
我想在我的 C# 程序中加密数据,但希望以后能够解密它。有谁知道我可以下载的任何库或工具可以让我做到这一点?
您可以使用 Microsoft Enterprise Library,其中有一个加密块
如果您查看文档中的 System.Security.Cryptography 命名空间,您会发现大多数常见加密系统的类。
有两种类型的算法:
公钥(例如 RSA) - 您使用公钥加密,然后使用私钥解密。
对称密钥(例如 AES、DES) - 使用相同的密钥执行加密和解密。
选择哪一种主要取决于你的情况。对称密钥算法通常用于加密数据,因为它们速度更快,但这带来了安全交换密钥的问题。如果您可以使用相同的密钥手动配置通信端点,那就太好了。如果没有,那么您可以使用公钥来加密所有内容,或者 - 就像在 SSL 等中使用的那样 - 添加一个握手阶段,通过公钥加密交换密钥。