我认为区别因素是

  • AesCryptoServiceProvider是FIPS兼容的
  • AesManaged是跨平台的,需要.NET 3.0
  • RijndaelManaged在.NET 2.0上运行,需要限制块大小

  • 是这样吗?

    最佳答案

    AesManaged documentation指出

    “AES算法本质上是具有固定块大小和迭代计数的Rijndael对称算法。该类的功能与RijndaelManaged类相同,但将块限制为128位,并且不允许反馈模式。”

    这将建议使用ECB(电子密码本)模式。这可能是加密数据的一个重大弱点,因为这意味着相同的纯文本数据块将导致相同的密码输出块。

    编辑:(作为更正)
    Mode属性的文档表明,“模式实际情况”默认为CBC(令人困惑的是一种反馈模式),但不能设置为CFB或OFB(密码反馈/输出反馈)

    关于.net - 我什么时候选择AesCryptoServiceProvider而不是AesManaged或RijndaelManaged?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1228451/

    10-13 06:45