2015-06-21 38 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

我編輯了我的帖子,我希望它有幫助 –