[ASP .NET]簡易web.config加密流程
以Microsoft .Net Framework SDK來執行加密作業,需在網站所處的Server主機上執行,且該網站需設定應用程式集區,加密是針對web.config中每個區塊獨立加密,以加密appSettings為例:
Step 1. 在程式集中選擇Microsoft .Net Framework SDK v2.0 > SDK命令提示字元,開啟command視窗。
Step 2. 於command視窗中Key in:aspnet_regiis –pef appSettings加上網站實體folder路徑,按下Enter執行,如出現”Encrypting configuration section…. Succeeded”即表示成功。
appSettings加密即完成。
Step 3. 如要解密,則於command視窗中Key in:aspnet_regiis –pdf appSettings加上網站實體folder路徑,按下Enter執行,如出現”Decrypting configuration section…. Succeeded”即表示成功,appSettings就會恢復原本的樣子。
說明:
- 如要加密其他區塊,則依照區塊名稱改掉appSettings(如connectionStrings)即可。
- 於程式中直接以ConfigurationSettings.AppSettings("")即可取得解密後的Value,不須作任何更動。
- 無法加密的區塊:
- <processModel>
- <runtime>
- <mscorlib>
- <startup>
- <system.runtime.remoting>
- <configProtectedData>
- <satelliteassemblies>
- <cryptographySettings>
- <cryptoNameMapping>
- <cryptoClasses>
- 因加密是使用當前電腦的金鑰來執行,故加密過的web.config無法在其他電腦上面使用。
參考資料:
https://msdn.microsoft.com/en-us/library/ff650304.aspx
如想看比較詳細的操作,也可參考下面連結