c#中的AES256加密

本文关键字:加密 AES256 中的 | 更新日期: 2023-09-27 18:08:07

我在c#中使用System.Security.Cryptography.RijndaelManaged类。. NET 3.5)使用settings:

进行加密
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实现?

c#中的AES256加密

关于AesManagedRijndaelManaged的差异:

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

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