2015-06-21 67 views
0

对不起,一直在寻找答案几乎一天,但不能真正找到我正在寻找的答案。我只能看到ASP。 Net保护WPF中的连接字符串?不是asp。网络2.0

我创建了一个名为“connstring”的连接字符串的自定义配置文件。它包含此:

<connectionStrings> 
    <add name="MySqlConnect" connectionString="datasource=xxx;port=xxx;username=ccc;password=xxx" /> 
</connectionStrings> 

和App.config链接到它。 我该如何加密连接字符串?或者有没有更好的办法?对不起,我很喜欢这个东西。

+0

不要把它放在你的应用程序中。 C#代码可以非常容易地反转,并且您可以在运行时使用反射轻松地从C#程序收集连接字符串。如果您的程序需要某种数据库管理,请编写一个服务器应用程序来处理它或使用Web服务器并通过它检索信息/发送信息。如果您打算公开它,请不要将数据库信息存储在应用程序中。 – Bauss

+0

我发布的是外部配置文件。顺便说一句,这只是针对一个孤立的网络,只有一个服务器的数据存储和多个客户端电脑连接在它上面,没有在线连接。正如我所说的,我对这个安全性的东西很有兴趣。那么你可以给我这个'写一个服务器应用程序'的方法吗? – Angelo

回答

0

你可以看到加密和解密以下后 Encrypting & Decrypting a String in C#

然后加密的connectionString值,则使用连接字符串之前解密

var encrypted = ConfigurationManager.ConnectionStrings["MySqlConnect"].ConnectionString; 
var decrypted = StringCipher.Decrypt(encrypted,"yourStrongPassword"); 

- 新ANSWER--

以下MSDN Post解释了如何加密web.config文件,根据它们,您可以将app.config重命名为web.config,然后按照步骤对我们进行加密b.config文件(只记得将其重命名为app.config) https://social.msdn.microsoft.com/Forums/windows/en-US/3b5a1d1f-aa57-40d8-8607-fee0b2a8a6db/protect-appconfig-file-or-encrypt

另一种方法是使用xml/json创建自己的配置文件,然后完全加密xml/json文本并存储到文件中。

public class MyConfiguration 
{ 
public string ConnectionString {get;set;} 
} 

现在你可以创建MyConfiguration的新实例,使用JSON/XML序列化时进行加密的文件中的结果字符串和存储,将它复制到项目中,你可以阅读它,解密和反序列化回一个东西。

我会先尝试使用web.config路由,看看怎么回事

+0

我忘了它也是一个外部配置文件。所以任何人都有可能修改风险。 – Angelo

+0

我编辑了我的帖子,我希望它有帮助 –