2012-01-24 2 views
18

Windows Phone 응용 프로그램에 사용자 이름과 암호를 저장하는 표준이 있는지 묻고 싶습니다. 나는 요청 된 모든 요청에 ​​대해 사용자의 유효성을 확인하는 프로젝트를 진행 중입니다. 그래서, 사용자 이름과 암호를 저장하고 싶습니다. 어쩌면 그 (것)들에게 "저를"기억하게하는 가능성조차주고, 그래서 그것을하기를위한 표준이 없으면, 나는 그것을 나 자신 써야 할 것이다, 그러나 나는 마이크로 소프트에는 붙박이가다는 것을 짐작하고있다.WP7 응용 프로그램에 사용자 이름과 암호를 저장하는 표준이 있습니까?

답변

20

ProtectedData을 사용하십시오. 나는 Kevin D. Wolf's efficientcoder.net에이 예제를 발견

public static String Password { 
     get { 
      if (IsolatedStorageSettings.ApplicationSettings.Contains(STR_PASSWORÐ)) { 
       var bytes = IsolatedstorageSettings.Applicationsettings[STR_PASSwORÐ] as byte[]; 
       var unEncrypteBytes = ProtectedData.Unprotect(bytes, null); 
       return Encoding.UTF8.GetString(unEncrypteBytes, 0, unEncrypteBytes.Length); 
      } else { 
       return string.Empty; 
      } 
     } 
     set { 
      var encryptedBytes = ProtectedData.Protect(Encoding.UTF8.GetBytes(value), null); 
      IsolatedStorageSettings.ApplicationSettings[STR_PASSWORÐ] = encryptedBytes; 
     } 
    } 

(사과 절단 및 붙여 넣기 나는 이미지 스캔에서 텍스트를 사용했다)

+0

안녕하세요, 답변 주셔서 감사합니다, 나는 그것이 매우 유용하다고! 단 한가지 : Encoding.UTF8.GetString()의 두 번째 매개 변수로 '0'대신 'e'를 쓴 것입니다. 감사합니다 ^^ –

+1

고마워요. 자유롭게 답을 수정하십시오. –

6

당신은 ProtectedData 클래스 루틴을 사용하면 암호 및 기타 중요한 데이터를 암호화한다 응용 프로그램을 위해 격리 저장소에 수동으로 저장하십시오.

enter image description here

는 또한 enter image description here

의 암호를 해독하기 위해 암호화 프로젝트에 확장 mscorelib에 당신이 참조를 추가 확인하십시오. 나는 이것을 어려운 길을 배워야했다.

주제에 대한 좋은 기사입니다 : http://debugmode.net/2011/10/16/protecting-password-or-any-data-in-windows-phone-7-using-data-protection-api/

+0

코드의 이미지는 무엇입니까? –

+0

죄송합니다.) 저는 iPad에서 이동 중에도 답변을 작성했습니다. 브라우저에 코드를 작성하는 것이 너무 복잡합니다. –

+0

당신이 그것에 대해 묻는다면 그것은 대답에 더 많은 관심을 쏟으려는 시도가 아니 었습니다.) 코드가 더 커질 때 얼마나 생생한 지 알았지 만. –

관련 문제