asp.net下加密Config的方法
2024-07-10 12:41:56
供稿:網(wǎng)友
代碼如下:
<appSettings>
<!-- 連接字符串是否加密 -->
<add key="ConStringEncrypt" value="false"/>
<!-- 連接字符串,(可以擴(kuò)展支持不同數(shù)據(jù)庫)如果是加密方式,上面一項要設(shè)置為true,如果是明文server=127.0.0.1;database=codematic;uid=sa;pwd=,上面設(shè)置為false -->
<add key="ConnectionString" value="Data Source=|DataDirectory|/wm.mdb;Persist Security Info=True"/>
<!--權(quán)限模塊連接字符串-->
<add key="ConnectionStringAccounts" value="Data Source=|DataDirectory|/wm.mdb;Persist Security Info=True"/>
<add key="ConnectionString2" value="Data Source=|DataDirectory|/wm.mdb;Persist Security Info=True"/>
<!--虛擬目錄名稱(如果是站點,則為空) -->
<add key="VirtualPath" value=""/>
<!--登錄頁地址 -->
<add key="LoginPage" value="admin/Login.aspx"/>
<!--默認(rèn)菜單是否是展開狀態(tài)-->
<add key="MenuExpanded" value="false"/>
<!--實體對象內(nèi)容緩村的時間(分鐘)-->
<add key="ModelCache" value="30"/>
</appSettings>
在asp.net2.0中新增了對web.config中的部分?jǐn)?shù)據(jù)進(jìn)行加密的功能,可以使用RSAProtectedConfigurationProvider和DPAPIProtectedConfigurationProvider來加密,本文說明使用RSAProtectedConfigurationProvidert和計算機(jī)級別的密鑰容器進(jìn)行加密的步驟。
1. 首先確定要進(jìn)行加密的web.config中的配置節(jié)是否可以加密
2. 創(chuàng)建RSA密鑰容器
3. 在web.config中標(biāo)識要使用的密鑰容器
4. 對web.config進(jìn)行加密
5. 授予對 RSA 密鑰容器的訪問權(quán)限
Step 1:首先確定要進(jìn)行加密的web.config中的配置節(jié)是否可以加密
ASP.NET 2.0支持對Web.config的部分配置節(jié)進(jìn)行加密,以下配置節(jié)中的數(shù)據(jù)是不能進(jìn)行加密的:
代碼如下:
* <processModel>
* <runtime>
* <mscorlib>
* <startup>
* <system.runtime.remoting>
* <configProtectedData>
* <satelliteassemblies>
* <cryptographySettings>
* <cryptoNameMapping>
* <cryptoClasses>
Step2:創(chuàng)建 RSA 密鑰容器
若要創(chuàng)建 RSA 密鑰容器,請使用 ASP.NET IIS 注冊工具 (Aspnet_regiis.exe) 及 –pc 開關(guān)。必須為密鑰容器指定一個名稱,該名稱標(biāo)識應(yīng)用程序的 Web.config 文件的 configProtectedData 節(jié)中指定的 RsaProtectedConfigurationProvider 所使用的密鑰容器。為確??梢詫?dǎo)出新創(chuàng)建的 RSA 密鑰容器,必須包括 -exp 選項。
例如,下面的命令創(chuàng)建一個名為 ABeenKeys 的 RSA 密鑰容器,該容器是可導(dǎo)出的計算機(jī)級密鑰容器。
aspnet_regiis -pc "ABeenKeys"–exp
Step 3: Modify web.config to identify the key container
編輯Web.config文件以標(biāo)識要使用的密鑰容器
在web.config中加以<configProtectedData>來配置密鑰容器, 使用名為 ABeenKeys 的計算機(jī)級 RSA 密鑰容器的