加密C#的配置文件,我對如何使用預定義的關鍵
configSection.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
看看,但我有兩個問題:
- 有沒有一種方法來加密與密鑰配置文件,因爲任何人都可以解密我的文件,如果他知道這種方法,對吧?
- 解密是否在運行時檢索連接字符串時自動完成? (在任何班級或數據集中)? 謝謝
加密C#的配置文件,我對如何使用預定義的關鍵
configSection.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
看看,但我有兩個問題:
是的,加密配置文件很常見。 DPAPI方式使用對稱密鑰,因此,如果有人獲得密鑰,他可以解密。
在我的情況下,我使用了一個RSA非對稱密鑰。這種方式使用公鑰進行加密。解密只能使用SQL數據庫中的服務器保護和保存的私鑰執行。在應用程序方面,用戶和應用程序不需要解密的祕密,但需要保持加密。簡單地說,公鑰是加密的,私鑰是解密。沒有人可以輕鬆獲得私鑰。此外,當涉及到像Microsoft Azure這樣的雲平臺時,我們必須使用也是RSA的證書方式。
我的情況花了差不多1個月的時間來了解複雜性。我剛剛完成了這項任務。
通過在配置文件中指出私鑰的指紋來自動執行解密。
謝謝Maarten,我知道,但上面的答案是用智能手機寫的,沒有足夠的時間。敬請諒解。 –
這只是一個友好的格式提示。我知道在手機上輸入答案是可怕的:)我已經做了很多。 –
看看這裏http://stackoverflow.com/questions/5803188/encrypting-connectionstrings-section-utility-for-app-config –
除了我的回答下面,我認爲你遇到與應用程序的困難。這可能意味着桌面應用程序可能放置密鑰的位置。我的情況也是WPF桌面應用程序,在桌面應用程序中找不到。總而言之,我在SQL數據庫和桌面應用程序之間採用了WCF中間件,並對中間件進行了加密。 –