【问题标题】:Securely storing a password locally that is used for web service在本地安全地存储用于 Web 服务的密码
【发布时间】:2011-04-27 15:33:29
【问题描述】:

我有一个应用程序通过发送用户名和密码来针对第三方 Web 服务进行身份验证。目前,我每次启动应用程序时都会在 winform 上输入密码 - 但我需要它来自动登录。

我想比

更安全地存储用户名/密码
Dim username as String = "username"
Dim password as String = "password"

我知道我可能不会阻止一个坚定的黑客访问我的源代码,但将它们存储为纯文本感觉是错误的。

我在这里找到了一些类似的问题,但没有一个可以为我提供可以使用的答案。

编辑:网络服务不是我的,它是一个需要我登录才能使用的 API。

【问题讨论】:

  • 我的 Android 应用调用 Web 服务时遇到了类似问题。我在本地加密字符串并在 Web 服务器上解密 - 我也想知道任何其他方式。
  • 网络服务是你控制的吗?如果是这样,似乎正确的解决方案是为 Web 服务提供一个更窄的接口,只允许客户端执行您的应用程序所做的任何事情。
  • @Max 我无法控制它。它只是我正在使用的一个 API。
  • 我删除了我的答案。对于那个很抱歉;我应该更仔细地阅读这个问题。

标签: vb.net security authentication passwords plaintext


【解决方案1】:

对于客户端 Windows 应用,有一个 ProtectedData 类,它

...使用用户或机器凭据来加密或解密数据提供保护

只要用户的个人资料是安全的,此类保护的数据项也是如此。但是,如果用户的密码被重置(不是用户自己更改的),所有数据实际上都会丢失。

【讨论】:

  • 谢谢,这看起来很有希望。如果我重置密码或将代码移动到另一台机器,我只需要重新创建存储加密密码的文件是否正确?
猜你喜欢
  • 2017-03-23
  • 2013-06-02
  • 2015-07-21
  • 2012-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-12
  • 1970-01-01
相关资源
最近更新 更多