我们应该在哪里存储散列的用户名密码

本文关键字:用户 密码 在哪里 存储 我们 | 更新日期: 2023-09-27 18:32:29

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

我知道如何对我的用户名''密码进行哈希处理,并在密码中添加盐并将哈希数据保存在文件中;但在这种情况下,用户可以用以前的文件替换此文件。我知道我们不能完全阻止这种情况,但我想让它变得困难。

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

编辑:我不使用数据库,我使用的是Windows 7。

我们应该在哪里存储散列的用户名密码

您可以按照本教程进行操作: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