gpt4 book ai didi

c# - WPF PasswordBox 中密码的安全优势不可绑定(bind)?

转载 作者:行者123 更新时间:2023-11-30 18:29:44 39 4
gpt4 key购买 nike

我只是偶然发现 WPF PasswordBoxes 的 Password 属性出于安全原因 是不可绑定(bind)的,这使得使用它们相当在 MVVM 上下文中很麻烦。类似 https://stackoverflow.com/a/1493330/3198247 的回答建议否则,密码可能会在运行时以纯文本形式存储在内存中,这不是一个好主意,因为它可能会被恶意软件读取。

但是,我似乎仍然不明白一般的原因或那个答案。在那里,它说在客户端计算机 RAM 上以纯文本形式保存密码是安全禁忌。。但是,一旦输入密码,密码就会在内存中,因为我可以从代码中访问它。那么为什么恶意软件不能直接从文本框中读取它呢?我在这里错过了另一点吗?

编辑:澄清,特别是。关于 Sheridan 的回答:假设有一个 PasswordBox,用户在其中键入“pw”作为他的密码。然后,显然“pw”在内存中,因为我可以通过 PasswordBox.Password 检索它。 为什么另外能够将它绑定(bind)到 ViewModel 的字符串属性是不安全的? 那么,“pw”最多包含在两个字符串中,但据我所知,这不应该使它更安全或更不安全。还是真的要“提醒”程序员 PW 的存储时间不应超过需要的时间?

最佳答案

阅读此答案 Why is char[] preferred over String for passwords?我知道它是 java,但我相信同样的规则适用。但根据您的系统所需的安全级别,它应该足够了。恶意软件总是有办法获取信息,例如键盘记录,但您能做的只有这么多。

关于c# - WPF PasswordBox 中密码的安全优势不可绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22511656/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com