8

我不是指不必使用的密码(例如我网站的其他用户的密码- 在这种情况下,我真的不必存储它们。请参阅https://stackoverflow.com/a/ 1054069/939213 .) 所以简单地存储哈希不是一种选择。

我指的是存储密码到 SQL 数据库和共享服务器上的软件必须使用的私钥。

我认为没有真正安全的方法可以做到这一点。我只想知道在这种情况下什么是最好的

我试图让他们免受黑客的攻击(在同一个网络主机上或不在同一个网络主机上)。不是来自有权查看文件的其他人。

将使用它们的是 ASP.Net 代码隐藏。

4

2 回答 2

4

存储密码的最佳方法是不存储它。使用集成 (Windows) 身份验证连接到 SQL Server。这涉及以特定 (Windows) 用户身份运行 IIS 应用程序池,并授予该用户访问权限以登录数据库并运行所需的查询。

另请参阅SQL Server 集成身份验证模式

除了更安全之外,它的性能也更好。使用每用户连接字符串会破坏连接池。

编辑:

如果您绝对必须存储密码,那么在 ASP.NET 中使用加密连接字符串是可行的方法。这负责使用 DPAPI 正确存储连接字符串和机器密钥,从而减少您将其搞砸并认为您在没有保护它的情况下已保护它的机会。

另外:在 web.config 中加密连接字符串

于 2012-06-27T18:31:31.720 回答
2

Windows 专门为此目的提供数据保护 API (DPAPI)。查看ProtectedData从 .NET 使用它的类。

DPAPI 的优势在于您的敏感数据会根据 Windows 用户的登录凭据进行加密,这意味着除非您的 Windows 帐户被盗用,否则它是安全的。

于 2012-06-27T18:42:54.567 回答