Поле пароля wpf в SecureString в C # - PullRequest
5 голосов
/ 05 июня 2010

Я пытаюсь получить данные из поля пароля wpf в защищенную строку. Как это сделать? что у меня до сих пор:

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

это, конечно, не работает, так как я могу получить данные пароля без создания обычной строки?

Ответы [ 3 ]

17 голосов
/ 05 июня 2010

За MSDN :

Когда вы получаете пароль собственности значение, вы выставляете пароль как простой текст в памяти. Чтобы избежать этого потенциальный риск безопасности, используйте Свойство SecurePassword, чтобы получить пароль в качестве SecureString.

Вам следует избегать использования свойства Password, если вам абсолютно не нужна текстовая версия строки. В этом случае получите SecureString напрямую.

8 голосов
/ 05 июня 2010

вам нужно прочитать каждый символ в

SecureString pass = new SecureString();

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

или более безопасно используйте свойство SecurePassword

SecureString pass = pbox1.SecurePassword
3 голосов
/ 03 июня 2011
SecureString pass = pbox1.SecurePassword.Copy();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...