对称和非对称加密简介
你可以通过实施加密技术来提高数据传输或存储的安全性。使用 System.Security.Cryptography 时,基本上有两种方法 : 对称和非对称。
对称加密
此方法使用私钥来执行数据转换。
优点:
- 对称算法消耗的资源更少,并且比非对称算法更快。
- 你可以加密的数据量不受限制。
缺点:
- 加密和解密使用相同的密钥。如果密钥被泄露,有人将能够解密你的数据。
- 如果你选择对不同的数据使用不同的密钥,则最终可能需要管理许多不同的密钥。
在 System.Security.Cryptography 下,你有不同的类执行对称加密,它们称为分组密码 :
- AesManaged ( AES 算法)。
- AesCryptoServiceProvider ( AES 算法 FIPS 140-2 投诉 )。
- DESCryptoServiceProvider ( DES 算法)。
- RC2CryptoServiceProvider ( Rivest Cipher 2 算法)。
- RijndaelManaged ( AES 算法)。注意 :RijndaelManaged 不是 FIPS-197 投诉。
- TripleDES ( TripleDES 算法)。
非对称加密
此方法使用公钥和私钥的组合来执行数据转换。
优点:
- 它使用比对称算法更大的密钥,因此它们不易被使用强力破解。
- 更容易保证谁能够加密和解密数据,因为它依赖于两个密钥(公共和私有)。
缺点:
- 你可以加密的数据量有限制。每种算法的限制是不同的,并且通常与算法的密钥大小成比例。例如,密钥长度为 1,024 位的 RSACryptoServiceProvider 对象只能加密小于 128 字节的消息。
- 与对称算法相比,非对称算法非常慢。
在 System.Security.Cryptography 下,你可以访问执行非对称加密的不同类: