我们应该在哪里存储我们的哈希用户名\密码?

时间:2014-11-29 11:04:43

标签: c# security hash

我正在使用C#开发桌面应用程序。在我的应用程序中,用户应该在使用我的应用程现在我想安全地保存我的用户名和密码。

我知道哈希我的用户名\密码并在我的密码中添加salt并将散列数据保存在文件中;但在这种情况下,用户可以用前一个文件替换此文件。而且我知道我们无法完全阻止这种情况,但我想让它变得困难。

一种解决方案是在注册表中存储文件的哈希以防止更改此文件;但我认为应该有更好的解决方案。

编辑:我不使用数据库而我正在使用Windows 7。

1 个答案:

答案 0 :(得分:1)

您可以按照本教程:http://msdn.microsoft.com/en-us/library/aa302402.aspx

它使用CryptProtectData API,提供以下内容:

  

CryptProtectData函数对DATA_BLOB结构中的数据执行加密。通常,只有具有与加密数据的用户相同的登录凭据的用户才能解密数据。此外,加密和解密通常必须在同一台计算机上完成。

点击此处查看更多信息:http://msdn.microsoft.com/en-us/library/windows/desktop/aa380261(v=vs.85).aspx