我认为区别因素是
- AesCryptoServiceProvider 符合 FIPS 标准
- AesManaged 是跨平台的,需要 .NET 3.0
- RijndaelManaged 在 .NET 2.0 上运行,需要限制块大小
是这样吗?
Aes托管文档指出
“AES 算法本质上是 Rijndael 对称算法,具有固定的块大小和迭代计数。此类的功能与 RijndaelManaged 类相同,但将块限制为 128 位,并且不允许反馈模式。"
这表明它使用 ECB(电子密码本)模式。这可能是加密数据的一个重大弱点,因为这意味着相同的纯文本数据块将导致相同的密码输出块。
Edit:(作为更正)
文档为Mode属性表示模式实际上默认为 CBC(令人困惑的是反馈模式),但不能设置为 CFB 或 OFB(密码反馈/输出反馈)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)