AES 缺少模式

本文关键字:模式 AES | 更新日期: 2023-09-27 17:57:14

我在Visual Studio上的C#中使用了WP8(Windows Phone 8)上的AES,System.Security.Cryptography不包含AESManaged的属性"Mode"。

在过去的 3 天里,我已经查找了这个问题,但没有找到任何参考或任何要导入的内容。

我目前使用的代码是:

            AesManaged cipher = new AesManaged();
            cipher.BlockSize = 8;
            /*cipher.Mode = CipherMode.CFB;
            cipher.Padding = PaddingMode.None;*/
            //cipher.KeySize = 128;
            //cipher.FeedbackSize = 8;  
            cipher.Key = key;
            cipher.IV = key;
            return cipher;

当 BlockSize 引发异常时,"指定的块大小对此算法无效"。

我最初使用的是RijndaelManage,但在WP8上不可用,但根据此,它应该可用。

AES 缺少模式

AES的Silverlight版本没有模式属性。这是MSDN关于这一点的文章。

"AES算法本质上是Rijndael对称算法,具有固定的块大小和迭代次数。此类的功能与 .NET Framework RijndaelManaged 类相同,但将块限制为 128 位,并且不允许反馈模式。密码模式始终CBC,填充模式始终为 PKCS7

如果您需要

更多模式和灵活性,您可以从 BounceCastle 库中提取 AES。我以前做过。