2009-04-11 319 views
3

事前:在c#中加密文件最簡單的方法是什麼?

我已經閱讀了其他主題,但我找不到答案。
(其他是有關config-文件,或技術清單)

我這樣的問題很簡單,雖然有點主觀的(我將其標記爲事先:-))什麼是最簡單的方式 ..

+0

@everyone:我當然會接受一個答案,但仍然沒有時間研究答案,問候 – Peter 2009-04-15 08:38:55

回答

7

File.Encrypt很簡單 - 一個呼叫(一個參數)。

當然,這取決於你想要的加密。 File.Encrypt加密到當前帳戶,如果您傳遞文件,這並沒有多大用處。但是,根據您的規範 - 即加密文件的最簡單方法 - 它必須是候選人!

4

不要因爲你加密配置文件而相信你有任何安全性。如果有人可以訪問加密的配置文件和包含密碼的可執行文件,則很可能會解密配置文件。這只是一點點困難。

說你的配置文件中包含密碼的數據庫連接,有可能讓那些看網絡數據包的密碼。

+0

我投票支持你,因爲downvote可能與你誤解我的問題有關,這可能部分是我的錯,所以我改述了它。 – Peter 2009-04-11 23:03:14

+0

我同意你的看法,因爲如果它很重要,那麼可以對你的安全性「偏執」。如果你可以加密它,它可以被解密。它就像你的回答,它使它更難一點。 – Kredns 2009-04-12 00:33:43

4

加密對於現代圖書館來說是微不足道的:最難的部分就是確保密鑰的安全。

所以,你需要看看你想要什麼來保護,而你試圖保護反對什麼威脅。

要加密文件,以便只有當前用戶可以看到它在客戶端工作站上,File.Encrypt是一個不錯的選擇,或與CurrentUser範圍DPAPI。

對於單個服務器上的配置文件,DPAPI使用LOCALMACHINE範圍是很好的選擇。然後您需要確保只有授權用戶才能夠登錄到服務器。在這裏,您基本上將關鍵管理委派給Windows。

有關服務器場的配置文件,您需要共享服務器之間的關鍵。 RsaProtectedConfigurationProvide是一個不錯的選擇,但您需要更多的工作來確保所有服務器都可以訪問相同的密鑰,並且可以防止未經授權的訪問(例如使用DACL)。

相關問題