我认为区别因素是
- AesCryptoServiceProvider 符合 FIPS
- AesManaged 是跨平台的,需要 .NET 3.0
- RijndaelManaged 在 .NET 2.0 上运行,需要限制块大小
是这样吗?
我认为区别因素是
是这样吗?
“AES 算法本质上是具有固定块大小和迭代次数的 Rijndael 对称算法。此类的功能与 RijndaelManaged 类相同,但将块限制为 128 位,并且不允许反馈模式。 ”
这表明它使用ECB(电子密码本)模式。这可能是加密数据的一个重要弱点,因为这意味着相同的纯文本数据块将导致相同的密码输出块。
编辑:(作为更正)模式
属性
的文档表明模式事实上默认为 CBC(令人困惑的是反馈模式),但不能设置为 CFB 或 OFB(密码反馈/输出反馈)