當前位置:首頁 » 密碼管理 » webconfig資料庫連接加密

webconfig資料庫連接加密

發布時間: 2023-05-05 18:30:15

『壹』 如何對web.config進行加密和解密

在WEB網站開發過程中,如果我們將資料庫連接字元串封裝到.DLL文件中,將會給資料庫和程序的遷移帶來麻煩,因為萬一伺服器地址
者資料庫發生變更,那麼我們就不得不修改源程序並重新將其編譯。更好的解決方法是將資料庫連接字元串寫入到web.config配置文件中,可問題是將連
接字元串寫入到web.config文件中之後,任何人都能打開看到所連接的資料庫名和密碼,又會帶來安全隱患,因此為了保證資料庫的安全性,我們可以通
過使用微軟IDE自帶的命令aspnet_regiis.exe將配置文件web.config中指定的標簽進行加密,如果以後想查看加密後的連接字元
串,我們還可以使用aspnet_regiis.exe將加密後的字元串進行解密。

1. 加密通用語法
加密一個特定網站的web.config文件的通用形式
aspnet_regiis.exe -pef secion physical_directory -prov provider

aspnet_regiis.exe -pe secion -app virtual_directory -prov provider
其中,各個參數的含義如下:

section表示要加密的配置節

physical_directory用於指定站點的物理路徑。

virtual_directory用戶指定虛擬路徑。

provider指定加密提供程序。

加密一個特定站點的連接字元串就是:
aspnet_regiis.exe -pef "connectionStrings" "你的web項目路徑" -prov ""
其中是Windows數據保護API(DPAPI)提供程序,它使用Windows內置的密碼學技術來加解密配置節。默認情況下,這個提供程序使用本機的密鑰。

2. 加密方法

運行Visual Studio 2008命令提示

加密後的結果

<connectionStrings configProtectionProvider="">
<EncryptedData>
<CipherData> <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAy1WyvzomB0WAlqYo++bAce//lsg/so66+//LD9H9WQ9uF3t/0MoMI9tbrWdFJ1Yu5/e3PAV4RCbCvDlPD0VC7hxtDMqfRjQ+1OhTdk2woiSNpx0TzXwZE25o4vlXq/+lZtAj8lzf2bK+/L0+6bizStRZ7BDnOngV//CVDQ==</CipherValue>
</CipherData>
</EncryptedData>
lt;/connectionStrings>

3. 解密
解密該連接字元串也很簡單
aspnet_regiis.exe -pdf "connectionStrings" '你的web項目路徑"

解密後的結果:

<connectionStrings>
<add name="Sql" connectionString="Data Source=.;Initial Catalog=MySchool;Integrated Security=True" />
</connectionStrings>

4. 後台代碼讀取配置文件web.config中資料庫連接字元串的方法:

using System.Configuation;

protected void Page_Load(object sender, EventArgs e)
{
lblMessage.Text = ConfigurationManager.ConnectionStrings["Sql"].ToString();
}


5. 在連接字元串的加密和解密的過程中,需要注意一下幾點。

使用加密的連接字元串

使用加密的連接字元串不需要編碼解密,ASP.NET會自動對加密內容進行解密。

加密和解密在同一台計算機上使用

在加密過程中,使用了一個基於本機的密鑰。這就意味著加密和解密必須在同一台計算機上進行,否則將不能解密。同時,在一台計算機上加密的配置,在另一台計算機上將不能正常使用。

中文路徑問題
該命令對中文支持不是很好。如果站點的路徑中有中文字元,也許不能正常加解密。

『貳』 怎麼對資料庫連接字元串進行加密和解密

給方法:開始--->運行,輸入cmd,接著輸入以下內容

加密:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "你的Web項目路徑"

解密:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pdf "connectionStrings" "你的Web項目路徑"

.NET為版本的路徑自行修改,其中connectionStrings連接字元串的名稱。

需要注意的是,加密過程中使用了一個基於本機的密鑰,這意味著解密過程必須在同一台計算機上完成。如果是將加密後的Web.config文件移動到其它計算機上,那麼Web.config文件中的連接字元串將不能夠正常解密。

熱點內容
hbasephp 發布:2025-02-11 16:44:41 瀏覽:761
微軟不給源碼 發布:2025-02-11 16:13:37 瀏覽:38
php的get方法 發布:2025-02-11 16:12:30 瀏覽:967
源碼網嘉 發布:2025-02-11 16:07:06 瀏覽:192
免費ftp服務軟體 發布:2025-02-11 15:58:06 瀏覽:866
大櫻桃建園為什麼要配置授粉樹 發布:2025-02-11 15:58:00 瀏覽:629
五菱宏光s頂配有哪些配置 發布:2025-02-11 15:50:57 瀏覽:287
華為8加128配置有哪些 發布:2025-02-11 15:48:20 瀏覽:580
壓縮機三轉子 發布:2025-02-11 15:45:54 瀏覽:828
linux操作系統shell 發布:2025-02-11 15:45:53 瀏覽:339