2014-02-21 51 views
0

您可以在Windows註冊表中存儲加密密碼嗎?在Windows註冊表中存儲加密數據

我必須找到一種方法來存儲連接字符串(它將包含一個密碼到Microsoft SQL Server數據庫)在本地計算機的註冊表。

我在這裏(和其他地方)看到了一些關於加密數據的建議,然後將它存儲在註冊表中,並做相反的解密(從註冊表讀取值,然後使用應用程序/程序來解密值),但註冊表可以存儲所有可能被128位加密使用的字符(基本上它可以存儲非字母數字字符)。

+0

http://msdn.microsoft.com/en-us/library/microsoft.win32.registryvaluekind%28v=vs.110%29.aspx – SLaks

+0

此外,加密不會對你有任何好處,除非你有一個安全的放置加密密鑰的地方。你需要弄清楚你想要抵禦的是什麼。請參閱http://blogs.msdn.com/b/ericlippert/archive/2011/09/27/keep-it-secret-keep-it-safe.aspx – SLaks

回答

0

有很多資源在網絡上,以幫助您與此有關。例如,您可以使用AES來加密和解密一個字符串。我找到了一個很好的例子AES Encryption, Dream in Code

微軟也談理解什麼來保護自己,甚至一些想法。

Protecting Connection Information

從我通過網絡快速瀏覽,我建議建立,你必須作爲嵌入資源的自定義配置,所以希望沒有人會訪問,然後引用它在你的config文件中像下面。這個配置

<?xml version='1.0' encoding='utf-8'?> 
<configuration> 
    <connectionStrings configSource="connections.config"/> 
</configuration> 

的更多信息,請訪問:Connection Strings and Configuration Files

這樣一來,你就不會處理人與有限的電腦上網,就像在一個業務領域,抱怨他需要管理員安裝程序:)

希望這有助於。

快樂編碼!

0

您可以使用不需要密鑰的CryptProtectData進行加密。然後使用RegSetValueEx和數據類型REG_BINARY將其保存在註冊表中。

相關問題