【问题标题】:"Remember password" option [C#]“记住密码”选项 [C#]
【发布时间】:2009-11-28 17:09:57
【问题描述】:

我需要在我的程序中实现“记住密码”选项,它适用于需要在登录过程中传递整个密码的客户端-服务器协议,而不仅仅是哈希,所以我需要在本地存储整个密码.我到处搜索,但没有找到确凿的答案或根本没有答案。但既然电子邮件客户端、互联网浏览器、IM 客户端都可以做到,这应该不是不可能的......

那么,最好的方法是什么?

谢谢

【问题讨论】:

  • 也许你应该更具体一点,是asp.net还是winform?
  • 那么到底是什么问题呢?你不能把密码保存到一个文件中吗?
  • 是的,将密码保存到文件中,但不要忘记用另一个密码加密它..等等..

标签: c# passwords save


【解决方案1】:

1) 只是不要这样做。无论您的安全性如何 存储 密码 仍然更好。

2) 如果您必须这样做,consider windows secure storage

【讨论】:

  • 第 1 点是 /bit/ 就像在说“不要把钥匙带出家门,以防万一丢失”
  • 实际上,我 100% 同意第 1 点。一旦您知道绕过作为该问题答案提到的所有措施是多么容易,您就会意识到这一点的智慧。跨度>
  • 我非常清楚这一点,但有一个方便/安全的权衡。我不会存储我的银行密码,但我会存储我的 IM 密码。
  • 但是,如果我使用 DPAPI 保护数据,那么我的 Loggon 中运行的所有进程都可以使用它吗? Windows 能否仅将数据返回给特定进程(通过应用程序的哈希验证或其他方式)?
【解决方案2】:

我会使用 CredentialsUI。 There's an article on MSDN 解释如何在 .NET 中使用它。

我很确定它是现代电子邮件客户端、互联网浏览器等所使用的。它提供了一个选项来保存您的凭据,并使用 DPAPI 加密。

我创建了一个 C# 包装类,可以轻松地在托管应用中使用。

【讨论】:

    猜你喜欢
    • 2015-06-07
    • 2016-08-15
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 2019-02-24
    • 2011-06-20
    • 2012-10-18
    相关资源
    最近更新 更多