我正在使用C#开发桌面应用程序。在我的应用程序中,用户应该在使用我的应用程现在我想安全地保存我的用户名和密码。
我知道哈希我的用户名\密码并在我的密码中添加salt并将散列数据保存在文件中;但在这种情况下,用户可以用前一个文件替换此文件。而且我知道我们无法完全阻止这种情况,但我想让它变得困难。
一种解决方案是在注册表中存储文件的哈希以防止更改此文件;但我认为应该有更好的解决方案。
编辑:我不使用数据库而我正在使用Windows 7。
答案 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