asp.net2.0如何加密資料庫聯接字串

NO IMAGE

asp.net2.0如何加密資料庫聯接字串

在asp.net2.0中,釋出網站時,加密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目錄,不知道還有其它解決辦法,希望大家共享一下:)

 

您可能感興趣的文章:

加密你的Access資料庫asp開啟方法由拖庫攻擊談口令欄位的加密策略(資料庫加密)使用 Salt Hash 將密碼加密後再儲存進資料庫在asp.net中使用加密資料庫聯接字串保證資料安全ASP.NET web.config中 資料庫連線字串加密解密