2016-05-08 32 views
0

加密C#的配置文件,我對如何使用預定義的關鍵

configSection.SectionInformation.ProtectSection("DataProtectionConfigurationProvider"); 

看看,但我有兩個問題:

  1. 有沒有一種方法來加密與密鑰配置文件,因爲任何人都可以解密我的文件,如果他知道這種方法,對吧?
  2. 解密是否在運行時檢索連接字符串時自動完成? (在任何班級或數據集中)? 謝謝
+0

看看這裏http://stackoverflow.com/questions/5803188/encrypting-connectionstrings-section-utility-for-app-config –

+0

除了我的回答下面,我認爲你遇到與應用程序的困難。這可能意味着桌面應用程序可能放置密鑰的位置。我的情況也是WPF桌面應用程序,在桌面應用程序中找不到。總而言之,我在SQL數據庫和桌面應用程序之間採用了WCF中間件,並對中間件進行了加密。 –

回答

0

是的,加密配置文件很常見。 DPAPI方式使用對稱密鑰,因此,如果有人獲得密鑰,他可以解密。

在我的情況下,我使用了一個RSA非對稱密鑰。這種方式使用公鑰進行加密。解密只能使用SQL數據庫中的服務器保護和保存的私鑰執行。在應用程序方面,用戶和應用程序不需要解密的祕密,但需要保持加密。簡單地說,公鑰是加密的,私鑰是解密。沒有人可以輕鬆獲得私鑰。此外,當涉及到像Microsoft Azure這樣的雲平臺時,我們必須使用也是RSA的證書方式。

我的情況花了差不多1個月的時間來了解複雜性。我剛剛完成了這項任務。

通過在配置文件中指出私鑰的指紋來自動執行解密。

+0

謝謝Maarten,我知道,但上面的答案是用智能手機寫的,沒有足夠的時間。敬請諒解。 –

+0

這只是一個友好的格式提示。我知道在手機上輸入答案是可怕的:)我已經做了很多。 –

相關問題