存储Web服务的密码?

时间:2015-04-09 15:52:57

标签: c# .net security passwords

我正在使用需要用户名和密码才能登录的网络服务。桌面应用程序将使用Web服务。我应该怎么做才能存储密码,以及用户名?通常情况下,您似乎将密码存储在数据库中,但在这种情况下,我用来访问Web服务的库接受纯文本用户名和密码(并且加密版本),但使用SSL连接到实际的Web服务。

这根本不是我的专业领域,如何在将密码传递给库中的方法之前解密密码?

2 个答案:

答案 0 :(得分:0)

您忽略了这是否仅适合您,或者您是否正在将软件分发给其他人。

你担心的威胁是什么?

如果它只适合你:

将其写在一张纸上,并将该纸张放在wallet中。需要时提示输入密码。

密码变量应该是SecureString而不是字符串,因此它不会被实习。

如果您不想将其存储在钱包中,请使用公钥加密密码,并将私钥保存在智能卡中,然后使用智能卡解密密码。

如果您不想使用智能卡,请使用DPAPI

答案 1 :(得分:0)

我发现在类似情况下对我有用的一件事是使用AES加密用户名和密码,这样凭证就可以在文件中修改,但肉眼无法读取。

为了使它更复杂,你可以使用不同的键和向量来运行它。

我在这里使用了这个人:SO: SimpleAES encryption

当然,如果用户获取密钥和向量并通过他们自己的解密运行它,则可以反转,但至少在这种情况下,您可以将加密的字节数组存储为base64或将其写入文件。