0

我在Visual Studio的C#中使用WP8(Windows Phone 8)上的AES,並且System.Security.Cryptography不包含AESManaged屬性'Mode'。AES丟失模式

我在過去的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; 

雖然塊大小拋出一個異常「指定的塊大小是不適用於此算法。」

我最初使用RijndaelManaged,但WP8 不可用,但根據this它應該可用。

回答

0

AES的Silverlight版本沒有模式屬性。這裏是MSDN article about that

「AES算法本質上是具有固定塊大小和迭代次數的Rijndael對稱算法,該類的功能與.NET Framework RijndaelManaged類相同,但將塊限制爲128位,並且不允許反饋模式。 密碼模式總是CBC,並且填充模式總是PKCS7。「

如果您需要更多模式和靈活性,您可以從BounceCastle library中提取AES。我之前做過。

+0

嗨,@ crea7or這不支持WP8 –

+0

***更新***我已經添加了參考但是當我去做'使用WP8BouncyCastle;'它說參考不存在。 –

+0

不知道你的問題在哪裏。但是,也許[Crypto ++庫](http://developer.nokia.com/blogs/community/using-crypto-library-with-windows-phone-8-featured-article-windows-phone)在您的項目中可以更好地工作? – crea7or