我在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实现?
答案 0 :(得分:1)
关于AesManaged
和RijndaelManaged
之间的差异:
AES算法本质上是Rijndael对称算法,具有固定的块大小和迭代计数。此类的功能与RijndaelManaged类相同,但将块限制为128位,并且不允许反馈模式。
从MSDN获取,这是http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged.aspx