C#中的AES256加密

时间:2013-04-07 15:15:50

标签: c# aes

我在C#(。NET 3.5)中使用System.Security.Cryptography.RijndaelManaged类来进行设置加密:

RijndaelManaged AesCrypto = new RijndaelManaged();
AesCrypto.BlockSize = 128;
AesCrypto.Mode = CipherMode.CBC;
CryptoStream CryptStream = new CryptoStream(memStream1,
    AesCrypto.CreateEncryptor(EncryptionKey1, EncryptionIV1),
                    CryptoStreamMode.Write);

使用256位密钥和IV。我相信AES256的结果。我是对的吗?

如果我使用System.Security.Cryptography.AesManaged类,会有什么不同吗?

另外,我在想,我们信任微软的AES实施,这可以验证,还是应该编写自己的AES实现?

1 个答案:

答案 0 :(得分:1)

关于AesManagedRijndaelManaged之间的差异:

  

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

从MSDN获取,这是http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged.aspx