我试图将wpf密码框中的数据转换为安全字符串。怎么做的? 到目前为止我所拥有的:
SecureString pass = new SecureString();
pass.AppendChar(pbox1.Password);
这当然不起作用,那么如何在不创建常规字符串的情况下获取密码数据呢?
答案 0 :(得分:17)
获取密码属性时 值,您将密码公开为 内存中的纯文本。为了避免这种情况 潜在的安全风险,使用 获取SecurePassword属性 密码作为SecureString。
除非您绝对需要字符串的纯文本版本,否则应避免使用Password属性。在这种情况下,直接检索SecureString。
答案 1 :(得分:8)
你需要阅读
中的每个角色SecureString pass = new SecureString();
foreach (char c in pbox1.Password)
{
pass.AppendChar(c);
}
或更安全地使用SecurePassword属性
SecureString pass = pbox1.SecurePassword
答案 2 :(得分:3)
SecureString pass = pbox1.SecurePassword.Copy();