我知道有SecureString类,但对于大多数情况下,我不认为它是非常有用的。我应该如何管理.net中的密码字符串?
例如,假设我有一个客户机/服务器系统。服务器不需要我制作的应用程序,甚至可以是没有集成身份验证的SQL Server。当用户在客户端应用程序的表单上输入密码时,它将以明文形式存储在内存中,因此,虽然我可以使用SecureString来读取密码,但我无法真正了解这一点。当然,它可以减少攻击面,但不会太多...即使我这样做,当用户点击“OK”时,也必须生成纯文本字符串,即使我只需要从中计算出散列。
那么,有没有办法避免密码字符串浮动,直到GC决定回收内存?即使如此,内存在被再次使用之前会被擦除吗?
你试图解决的实际问题是什么? – 2010-10-28 10:44:50
如果你想要更安全的applcation然后使用集成认证 – 2010-10-28 10:45:34
@Mitch小麦:我希望能够以安全的方式使用SecureString的内容。 – raven 2010-10-28 11:05:39