在asp.net中使用加密数据库联接字符串
在我們發布網站時,加密web.config,這樣可以有效保證數據庫用戶和密碼安全,其步驟如下:?
1.添加密鑰?
執行:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis?-pc?"hnlaw"?-exp?
其中"hnlaw"為密鑰名稱?
2.添加web.config節點?
在web.config的<configuration></configuration>之間添加:?
<configProtectedData>?
<providers>?
<add?keyContainerName="hnlaw"?useMachineContainer="true"?description="Uses?RsaCryptoServiceProvider?to?encrypt?and?
decrypt"?name="hnlaw"?type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration,?Version=2.0.0.0,?
Culture=neutral,?PublicKeyToken=b03f5f7f11d50a3a"?/>?
</providers>?
</configProtectedData>?
注意:這里keyContainerName="hnlaw"和name="hnlaw"分別表示你的密鑰名稱;?
3.加密web.config?
到網站根目錄添加一個批處理文件enweb.bat,內容如下:?
@echo?off?
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis?-pef?"system.web/identity"?"E:\HS?Studio\Donet2\Hnlawyer"?-prov?
"hnlaw"?
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis?-pef?"connectionStrings"?"E:\HS?Studio\Donet2\Hnlawyer"?-prov?
"hnlaw"?
PAUSE?
注冊上面的的路徑和名稱!?
運行后出現成功!?
4.解密?
同樣到網站根目錄添加一個批處理文件deweb.bat,內容如下:?
@echo?off?
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis?-pef?"system.web/identity"?"E:\HS?Studio\Donet2\Hnlawyer"?
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis?-pdf?"connectionStrings"?"E:\HS?Studio\Donet2\Hnlawyer"?
PAUSE?
最后就是要注意:做完后找到C:\Documents?and?Settings\All?Users\Application?Data\Microsoft\Crypto\RSA\MachineKeys目錄下,找到生成?
的密鑰文件(可按時間查找),給上network?service可讀取權限,不然會出現Error?message?from?the?provider:?The?RSA?key?container?could?
not?be?opened.?
無法讀取?
這樣可能會出現,如果沒有自己的服務器,沒有權限修改MachineKeys目錄,不知道還有其它解決辦法,希望大家共享一下?:)?
轉載于:https://www.cnblogs.com/ranran/p/3894885.html
總結
以上是生活随笔為你收集整理的在asp.net中使用加密数据库联接字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于软考
- 下一篇: Javascript OrderBy