将wpf密码框放入C#中的SecureString
我试图将wpf密码框中的数据转换为安全字符串。 怎么做的? 到目前为止我有什么:
SecureString pass = new SecureString(); pass.AppendChar(pbox1.Password);
这当然不起作用,那么如何在不创建常规字符串的情况下获取密码数据呢?
你需要阅读每个角色
SecureString pass = new SecureString(); foreach (char c in pbox1.Password) { pass.AppendChar(c); }
或者更安全地使用SecurePassword属性
SecureString pass = pbox1.SecurePassword
每个MSDN :
获取Password属性值后,将密码作为纯文本显示在内存中。 要避免此潜在的安全风险,请使用SecurePassword属性将密码作为SecureString获取。
除非绝对需要字符串的纯文本版本,否则应避免使用Password属性。 在这种情况下,直接检索SecureString。
SecureString pass = pbox1.SecurePassword.Copy();