AES缺失模式

时间:2014-04-07 16:27:56

标签: c# visual-studio-2012 windows-phone-8 windows-phone rijndaelmanaged

我在Visual Studio上的C#中使用WP8(Windows Phone 8)上的AES,而System.Security.Cryptography不包含属性'模式'对于AESManaged。

我在过去的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会抛出异常,但指定的块大小对此算法无效。'

我最初使用的是RijndaelManaged但在WP8 上无法使用,但根据this 它应该可用。

1 个答案:

答案 0 :(得分:0)

AES的Silverlight版权没有模式属性。这是MSDN article about that

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

如果您需要更多模式和灵活性,可以从BounceCastle library中提取AES。我以前做过。