0

Visual Studio의 C#에서 WP8 (Windows Phone 8)에 AES를 사용하고 있으며 System.Security.Cryptography에 AESManaged의 'Mode'특성이 없습니다.AES 누락 모드

지난 3 일 동안이 문제를 조사했지만 참조 또는 가져올 항목을 찾지 못했습니다.

내가 현재 사용하고있는 코드는 다음과 같습니다 블록 크기가 예외를 throw하는 동안

  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 알고리즘은 본질적으로 RijndaelManaged 클래스와 같은 방식으로 작동하지만 블록을 128 비트로 제한하고 피드백 모드를 허용하지 않습니다. 암호 모드는 항상 CBC이고 패딩 모드는 항상 PKCS7입니다. "

더 많은 모드와 유연성이 필요하면 BounceCastle library에서 AES를 추출 할 수 있습니다. 나는 전에 그것을했다.

+0

안녕하세요, @ crea7 또는 WP8의 경우 지원되지 않습니다. –

+0

*** 업데이트 *** 참조를 추가했지만 'WP8BouncyCastle을 사용하여'라고 말하면 참조가 존재하지 않는다고 말합니다. –

+0

귀하의 경우 어디에 문제가 있는지 알 수 없습니다. 그러나 [Crypto ++ library] (http://developer.nokia.com/blogs/community/using-crypto-library-with-windows-phone-8-featured-article-windows-phone)가 프로젝트에서 더 잘 작동 할 수도 있습니다. ? – crea7or

관련 문제