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

Easy way to secure connectionstring

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

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

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

所以我的问题显然是如何以一种简单的方式保护(不必非常强大)我的连接字符串。

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

    <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 的回答。希望这对您有所帮助!