2010-06-04 4 views
5

wpf 암호 상자의 데이터를 보안 문자열로 가져 오려고합니다. 어떻게 된거 야? 내가 지금까지 가지고 : wpf 암호 상자를 C#의 SecureString에 입력하십시오.

SecureString pass = new SecureString(); 
     pass.AppendChar(pbox1.Password); 

이 작동하지 않습니다 물론, 그래서 어떻게 일반 문자열을 생성하지 않고 암호 데이터를 얻을 것

?

답변

8

당신은 SecurePassword 속성

SecureString pass = pbox1.SecurePassword 
+3

이렇게하면 'SecureString'을 사용하는 목적을 거의 상실하게됩니다. –

16

Per MSDN에게

SecureString pass = new SecureString(); 

foreach (char c in pbox1.Password) 
{ 
    pass.AppendChar(c); 
} 

에서 각 문자를 읽거나보다 안전하게 사용할 필요가 :

당신이 암호 등록을 가치를

, 당신 암호를 일반 텍스트로 메모리에 표시하십시오. 이 잠재적 인 보안 위험을 방지하려면 SecurePassword 속성을 사용하여 암호를 SecureString으로 가져옵니다.

문자열의 일반 텍스트 버전이 절대적으로 필요한 경우가 아니면 암호 속성을 사용하지 마십시오. 이 경우 SecureString을 직접 검색하십시오.

+1

SecureString을 사용하여 암호를 설정하는 방법 만있는 경우 – Sebastian

3
SecureString pass = pbox1.SecurePassword.Copy(); 
관련 문제