我的web.config文件中包含以下信息。在web.config文件中加密和存儲密碼
<appSettings>
<add key="AdminUsername" value="User1"/>
<add key="AdminPassword" value="Password1"/>
</appSettings>
我該如何加密和存儲? 我該如何解密和使用?
我的web.config文件中包含以下信息。在web.config文件中加密和存儲密碼
<appSettings>
<add key="AdminUsername" value="User1"/>
<add key="AdminPassword" value="Password1"/>
</appSettings>
我該如何加密和存儲? 我該如何解密和使用?
請參考文章 - http://msdn.microsoft.com/en-us/library/k6h9cz8h%28v=vs.80%29.aspx
的命令是:
ASPNET_REGIIS.EXE -pe 「的appSettings」 -site 「MySharePoint」 -app 「/」
MySharePoint是一個虛擬目錄。 web.config文件也應該在目錄中。
我只需要加密一部分appconfig部分不是全部。
更新答案 - 現在只會加密appSettings部分。希望能幫助到你。 –
使用aspnet_regiis或等效的API加密配置節的缺點是它會加密整個節。
從安全角度來說很好,但是它使管理員更難檢查同一節中的其他非敏感配置數據。 appSettings是管理員經常要檢查的部分。
一種選擇是把你的證書在不同的部分(例如,創建於<connectionStrings>
部分的虛擬連接字符串)和加密僅本節:
<connectionStrings>
...
<add key="AdminCredentials"
providerName=""
connectionString="Username=...;Password=..." />
</connectionStrings>
當然,你必須編寫代碼來解析虛擬連接字符串(String.Split)並提取憑證。像下面(省略錯誤處理的簡單):
string s = ConfigurationManager.ConnectionStrings["AdminCredentials"].ConnectionString;
string[] tokens = s.Split(';');
string userName = tokens[0].Split('=')[1];
string password = tokens[1].Split('=')[1];
...
通過這樣做,你可以留下您的appSettings部分未加密。
在這裏也有同樣的答案。 http://stackoverflow.com/questions/6291322/how-to-encrypt-username-and-password-in-web-config-in-c-2-0 – Roshe