保护连接字符串的简便方法

时间:2016-10-17 00:06:04

标签: asp.net asp.net-mvc-4 web-config

所以我记得我的老师曾经教过我们如何在web.config中保护连接字符串。 不幸的是,现在当我需要知道它时,我已经忘记了所有这一切。

我一直在这里四处寻找,并发现了一些不同的问题,其中所有这些似乎都有一个稍微复杂的解决方案。

我问,因为我记得我的老师用几个符号/字形在连接字符串中保护了他的密码,而不是加密整个字符串。

所以我的问题显然是我如何能够以一种简单的方式确保我的连接能力(不一定非常强大)。

1 个答案:

答案 0 :(得分:0)

您可以尝试在连接字符串中使用标志,如下所示:

    <add name="PSystem" 
 connectionString="Server=test;
                   Database=Dev;
                   User ID=@UserID@;
                   Password=#Password#;
                   Trusted_Connection=False;
                   Encrypt=True;" 
  providerName="System.Data.SqlClient" />

然后您可以使用加密的用户和密码,如下所示:

<add key="DB_User" value = [Encrypted Username]>
<add key="DB_Password" value = [Encrypted Password]>

然后在代码中你只需要替换标志:

    string _connectionString = ConfigurationManager.ConnectionStrings["PSystem"].ConnectionString;

string user = Decrypt(ConfigurationManager.AppSettings["DB_User"]);
string password = Decrypt(ConfigurationManager.AppSettings["DB_Password"]);

_connectionString = _connectionString.Replace("##User##", user).Replace("##Password##", password);

对于上述所有情况,感谢Oscar Rivera回答。希望这有帮助!