可能会有重复(问题),但我特别寻找.NET的最佳实践。
如何以安全的方式存储数据库连接字符串、用户名、密码等信息?在大多数情况下,加密的app.config文件是最好的选择吗?
我还想能够在配置文件中设置密码,并在应用程序启动后立即对其进行加密。(我并不要求解决方案,因为我之前已经解决了这个问题,我只是想寻找最佳实践)。
我也对你拥有良好体验的替代解决方案感兴趣。
关于保护连接字符串,有几个需要知道的事情: http://msdn.microsoft.com/en-us/library/89211k9b.aspx
在我看来,存储它们的最佳方式(结合了灵活性和安全性)是“使用受保护的配置加密配置文件部分”: http://msdn.microsoft.com/en-us/library/ms254494.aspx
那将是web.config文件。如果安全性是一个问题,您可以加密连接字符串。
最近我发现非常有用的一个东西是Microsoft的单点登录服务。如果需要使用SQL身份验证,您可以将实际凭据存储在加密数据库中。