我在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 它应该可用。
答案 0 :(得分:0)
AES的Silverlight版权没有模式属性。这是MSDN article about that。
“AES算法本质上是Rijndael对称算法,具有固定的块大小和迭代计数。此类的功能与.NET Framework RijndaelManaged类相同,但将块限制为128位,并且不允许反馈模式。 密码模式始终为CBC ,填充模式始终为PKCS7 。“
如果您需要更多模式和灵活性,可以从BounceCastle library中提取AES。我以前做过。