導航:首頁 > 文檔加密 > config加密教程

config加密教程

發布時間:2022-09-26 04:03:01

⑴ WEB.CONFIG如何加密

WEB.CONFIG 文件不需要加密,對客戶端訪問本身就有安全限制,不可以下載不可以訪問。如果想防止伺服器端看到,還是少往裡面寫系統設置信息,用資料庫存儲加密後的系統設置信息。

⑵ 如何為配置文件加密

在web.config或app.config文件里我們經常會存儲一些敏感信息,比如connectionStrings或者appSettings,比如像下面的文件。
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<connectionStrings>
<add name="MyNwConnectionString" connectionString="Server=myServerAddress;Database=myDataBase;User Id=myUsername; Password=myPassword;"/>
</connectionStrings>
<appSettings>
<add key="User" value="myUsername"/>
<add key="Password" value="myPassword"/>
</appSettings>
</configuration>
using System;
using System.Configuration;

namespace WebConfigEncryptTest
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string user = ConfigurationManager.AppSettings.Get("User");
string password = ConfigurationManager.AppSettings.Get("Password");
string connectionString = ConfigurationManager.ConnectionStrings["MyNwConnectionString"].ConnectionString;
}
}
}

(一)加密文件可以使用的Provider
.NET為我們提供了一個工具aspnet_regiis.exe來對web.config文件中的敏感信息進行加密(app.config文件可以先改名為web.config,加密後再改回app.config)。你可以使用兩個provider中的一個來進行加密:
System.Configuration.:在System.Configuration.dll中,使用Windows DPAPI(Data Protection API)來進行加密,密鑰存在Windows Local Security Authority(LSA)中。注意:當使用時,加密文件所使用的帳號需要與運行web application的帳號相同,否則web application無法解密加密的內容。
System.Configuration.:在System.Configuration.dll中,使用RSA演算法來進行加密(RSA演算法是非對稱加密,參見《對稱加密與非對稱加密 》),公鑰存放在config文件當中,只有加密的計算機有密鑰。通常是默認的預設provider。
(二)加密文件的命令
加密web.config文件可以使用:
aspnet_regiis -pef section web-app-physical-dir
Encrypt the configuration section. Optional arguments:
[-prov provider] Use this provider to encrypt.

比如運行下面的命令就會分別對connectionStrings和appSettings中的信息進行加密:

aspnet_regiis.exe -pef "connectionStrings" "C:\myweb\HelloService"
aspnet_regiis.exe -pef "appSettings" "C:\myweb\HelloService"

加密後的web.config文件變成:

<?xml version="1.0"?>
<configuration>
<system.web>
<compilation targetFramework="4.0" />
</system.web>
<connectionStrings configProtectionProvider="">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>E2fO9C0TJVxImLYQZza+fCQdDbTpNh/kOKLRsK6zcFjkgtUCl6SnMViuu/2G1NVTxqXyEWYwyK6AiCZA+feeG/+f2EIimP7LJI+JRZVerI4MU6Ke3wxm2S/ATc73/W6eg9808f4//JB0kso0kGJ9i+==</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>I1DWG11Iz/rq+NC9C/21B3Q22J9+//JW1oCvAGs5tHrZU5+vgvm0yCmSuCWZbXva+iv9J35EQqs58pq+hwVo1hg1dffpGCBykaXGl5VX3TIGc=</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
<appSettings configProtectionProvider="">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>//SuBvV3D2kxhHaYGFaPuvYgsyOLf3+aYR3O/uh/+/iSANzAWoC+==</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>5W2KhG/oETLUDptobcOM52x1qD/g9A0By/wcGXI+///w=</CipherValue>
</CipherData>
</EncryptedData>
</appSettings>
</configuration>

是默認的預設provider,如果想使用,可以用-prov參數指明:

aspnet_regiis.exe -pef "connectionStrings" "C:\myweb\HelloService" -prov ""
aspnet_regiis.exe -pef "appSettings" "C:\myweb\HelloService" -prov ""

加密配置文件後,源程序不需要做任何改動。如果要修改或添加新的配置信息,需要先解密配置文件。不論使用哪種Provider,都只能在進行加密的計算機上對配置文件進行解密。

⑶ 如何對web.config進行加密和解密

一、如何對Web.config中資料庫連接字元串進行加解密,避免明文方式。 1)概述:
Web.Config 中可以存儲資料庫連接語句,通常存於 <connectionString>配置節中,程序調用非常方便,但是在系統的應用過程中,利用明文存儲這些敏感信息是不安全的,這就需要對配置信息進行加密,加密後即使攻擊者獲取了對配置文件的訪問,也可以使攻擊者難以獲取對敏感信息的訪問,從而改進應用程序的安全性。
使用 ASP.NET IIS 注冊工具 (Aspnet_regiis.exe) 加密或解密 Web 配置文件的各節。而在在處理 Web.config 文件時,ASP.NET 將自動解密已加密的配置元素。
要加密配置文件的內容, 通過Aspnet_regiis.exe 工具與 –pe 選項以及要加密的配置元素的名稱一起使用,利用.NET Framework 提供的2種受保護配置程序來實現節點加解密:
名為的 實例使用 Windows 數據保護 API (DPAPI) 對數據進行加密和解密。
名為的 實例使用 RSA 加密演算法對數據進行加密和解密。該提供程序配置為默認提供程序
下面就這2中加密方式,分別進行舉例如下:
2)使用 來加解密配置節
利用aspnet_regiis -pef connectionStrings 對web.config 加密 在伺服器命令提示符下,輸入如下命令:
C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -pef connectionStrings D:\程序\某系統\EpointBid_HuiYuan –prov 正在加密配置節„ 成功!
-pef 指定兩個參數:
這里 connectionStrings 是要進行加密的配置節,後面是具體的程序路徑 這里 D:\程序\某系統\EpointBid_HuiYuan 是要加密的配置文件所在的物理目錄。
-prov 表示使用哪個驅動來加密,一共有兩個驅動可選,在類似於
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 的位置,我們可以找到 machine.config 文件,在其 configProtectedData 配置節,我們可以看到這兩個驅動的名稱,以及默認的驅動是哪一個。這兩個驅動是 (類名 ,詳細操作見下說明示例)和
(類名 )。
如果不加驅動選項,則採用默認驅動進行加密。

⑷ 如何加密app.config

輸入如下命令進行加密:
aspnet_regiis
-pef
connectionStrings
c:\Websites\BegAspNet2Db解密:
aspnet_regiis
-pdf
connectionStrings
c:\Websites\BegAspNet2D
對於app.config,直接運行時會出錯。但其實app.config和web.config原理是完全一樣的,細心的用戶可以發現app.config的說明也是web
file。

⑸ 如何對web.config進行加密和解密

你好,可以使用受保護配置來加密 Web 應用程序配置文件(如 Web.config 文件)中的敏感信息(包括用戶名和密碼、資料庫連接字元串和加密密鑰)。對配置信息進行加密後,即使攻擊者獲取了對配置文件的訪問,也可以使攻擊者難以獲取對敏感信息的訪問,從而改進應用程序的安全性。 針對asp.net 2.0的應用程序的資料庫鏈接字元串進行加密:例如,未加密的配置文件中可能包含一個指定用於連接到資料庫的連接字元串的節,如下面的示例所示: <configuration> <connectionStrings>
<add name="SampleSqlServer" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" />
</connectionStrings>
</configuration>
ASP.NET 2.0 中有一個新的安全特性.可以對 Web.config 文件中的任何配置節進行加密處理,可以通過手工運行工具aspnet_regiis或者編程來完成這個工作。如果你可以直接訪問你的Web 伺服器,你可以通過運行如下的命令行: cd %windows%/Microsoft.NET/Framework/versionNumber aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" –prov -pd section
對配置節進行解密。此參數採用下面的可選參數: · -app virtualPath 指定應該在包含路徑的級別進行解密。 · -location subPath 指定要解密的子目錄。 · -pkm 指定應該對 Machine.config 而非 Web.config 文件進行解密。

-pdf section webApplicationDirectory
對指定物理(非虛擬)目錄中的 Web.config 文件的指定配置節進行解密。

-pe section
對指定的配置節進行加密。此參數採用下面的可選修飾符: · -prov provider 指定要使用的加密提供程序。 · -app virtualPath 指定應該在包含路徑的級別進行加密。 · -location subPath 指定要加密的子目錄。 · -pkm 指定應該對 Machine.config 而非 Web.config 文件進行加密。

-pef section webApplicationDirectory
對指定物理(非虛擬)目錄中的 Web.config 文件的指定配置節進行加密。
如果你是使用虛擬主機等不能訪問物理的伺服器,你仍然能夠通過編程方式加密的連接字元串: 1 Configuration config = Configuration.GetWebConfiguration(Request.ApplicationPath);
2 ConfigurationSection section = config.Sections["connectionStrings"];
3 section.SectionInformation.ProtectSection("");;
4 config.Update ();或者 config.Save();

//加密web.Config中的指定節
private void ProtectSection(string sectionName)
{
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section = config.GetSection(sectionName);
if (section != null && !section.SectionInformation.IsProtected)
{
section.SectionInformation.ProtectSection("");
config.Save();
}
}

//解密web.Config中的指定節
private void UnProtectSection(string sectionName)
{
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section = config.GetSection(sectionName);
if (section != null && section.SectionInformation.IsProtected)
{
section.SectionInformation.UnprotectSection();
config.Save();
}
}

⑹ 如何加密app.config

輸入如下命令進行加密:
aspnet_regiis -pef connectionStrings
c:\Websites\BegAspNet2Db解密:
aspnet_regiis -pdf connectionStrings
c:\Websites\BegAspNet2D
對於app.config,直接運行時會出錯。但其實app.config和web.config原理是完全一樣的,細心的用戶可以發現app.config的說明也是web
file。

⑺ 如何對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會自動對加密內容進行解密。

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

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

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

⑻ WEB.CONFIG如何加密

WEB.CONFIG
文件不需要加密,對客戶端訪問本身就有安全限制,不可以下載不可以訪問。
如果想防止伺服器端看到,還是少往裡面寫系統設置信息,用資料庫存儲加密後的系統設置信息。

⑼ asp.net中config的connectionstrings加密怎麼做

加密網站中的配置信息,我們不需要寫任何代碼,也不需要修改任何代碼,只需要使用 aspnet_regiis 工具修改配置文件即可.
比如我們有下面一個配置文件需要加密:
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=localhost;
Integrated Security=SSPI;Initial Catalog=Northwind;" />
</connectionStrings>
</configuration>

假設這個配置文件在 MyApplication 目錄下。
加密命令
aspnet_regiis -pe "connectionStrings" -app "/MyApplication"

aspnet_regiis 命令在你安裝的 .net Framework 目錄下, 默認在:
C:\WINDOWS\Microsoft.Net\Framework\v2.0.*

加密後的效果:
<configuration>
<connectionStrings configProtectionProvider="">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData> <CipherValue>0RU0XfRexc6aLFYZM+f+IWZVINqTZAAunysoVPv0dliPM72D
34MJ/gX7pzvhSJNqCLiXeyjsayse
12oAuF4rlIEraa//0QB
=</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData> <CipherValue>
KmD2h7hJo2BeTIjyIOAq/2J1saLDJm
+d
zA8qEF//
ZJrjYcHIk3I27oh/XuxtSQ0VNOl
gfSsM/=
</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
</configuration>

注意:為了避免一行太長,我這里把加密後信息加了幾個回車符。

ASP.NET 在處理 Web.config 文件時會自動對該文件的內容進行解密。因此,
不需要任何附加步驟即可對已加密的配置設置進行解密,供其他 ASP.NET 功能使用或用於訪問代碼中的值。

如果你想修改這些配置信息,就需要解密這個文件,然後再加密。解密用 aspnet_regiis.exe 命令的 -pd 選項。
參考命令如下:

aspnet_regiis -pd "connectionStrings" -app "/MyApplication"

上面給的範例是 針對 IIS 的站點,如果你的站點是使用VS2005 的 ASP.net Development Server
則需要用 -pef 參數,當然 iis 站點也可以這么用

aspnet_regiis.exe -pef "connectionStrings" "D:\My2005Codes\WebTestCode\TestWEBSite"

說明:
-pef 對指定物理(非虛擬)目錄中的 Web.config 文件的指定配置節進行加密。
對應的這個解密則是
-pdf 參數 對指定物理(非虛擬)目錄中的 Web.config 文件的指定配置節進行解密。

應該是可以用的啊,你看開始菜單裡面的vs2008下面有一個vs2008工具的目錄,在他下面有一個vs2008命令行,用這個就可以。加密後可以直接讀取程序運行時自動解密的,放心。不影響不需要運行時寫另外代碼解密

⑽ 如何加密C#中的Config文件

簡單點的是異或加密,復雜點的就是RC4,RES加密

閱讀全文

與config加密教程相關的資料

熱點內容
易語言網路共享下載源碼 瀏覽:807
誰有那種電影你懂得 瀏覽:194
台灣男同性戀片 瀏覽:70
安卓應用包安裝程序怎麼清除數據 瀏覽:61
催眠合集txt下載 瀏覽:323
韓國車震大尺度電影有哪些 瀏覽:335
割乳酷刑電影 瀏覽:234
怎麼給電腦app分身 瀏覽:821
資治通鑒pdf中華書局 瀏覽:187
穿越民國種馬 瀏覽:628
新搬來的新居電影 瀏覽:561
有個小說主角叫姜 瀏覽:602
重生德國一戰的小說 瀏覽:249
給點能看的網站 瀏覽:670
77電影網 瀏覽:68
在線可以觀看的網站 瀏覽:827
電梯日本電影 瀏覽:73
有部電影裡面有兩個人一個拿白色光劍 瀏覽:63
程序員如何自行車通勤 瀏覽:213
打開文件夾一直彈出新的窗口win10 瀏覽:475