2011-04-27 123 views
4

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

我想稍微更安全地存储用户名/密码比

Dim username as String = "username" 
Dim password as String = "password" 

我明白,我可能不会停止确定黑客可以访问我的源代码,但它们存储明文感觉错误。

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

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

+0

我有一个类似的问题,我的Android应用程序调用Web服务。我在本地加密字符串并在Web服务器上解密 - 我想知道其他任何方式。 – Ricky 2011-04-27 15:39:23

+0

您控制的是一项Web服务吗?如果是这样,似乎正确的解决方案是提供一个更窄的Web服务接口,只允许客户端做任何你的应用程序。 – 2011-04-27 15:44:38

+0

@Max我无法控制它。它只是一个我正在使用的API。 – Flash 2011-04-27 15:48:16

回答

4

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

...使用用户或计算机证书来加密或解密数据

所以只要用户提供保护配置文件是安全的,数据项也受到这个类的保护。但是,如果用户的密码被重置(用户本人未更改),则所有数据都会丢失。

+0

谢谢,这看起来很有希望。如果我重置我的密码或将代码移到其他机器,我只需重新创建存储加密密码的文件是否正确? – Flash 2011-04-27 16:02:17

+0

@Andrew是的,没错。 – 2011-04-27 16:04:38