您的位置:首页 > 编程语言 > ASP

ASP.NET 2.0加密Web.config 配置文件

2008-03-31 11:55 871 查看
1、打开记事本,然后将下面的代码复制到一个新文件中。

<%@ Page Language="C#" %>

<%

Response.WriteSystem.Security.Principal.WindowsIdentity.GetCurrent().Name);

%>
保存 my.aspx 到你的web目录 ,运行一下窗体显示 “ NT AUTHORITY\NETWORK SERVICE ”。成功!

2、(关键一步)运行cmd,执行以下

aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE"

说明:注册默认的 RsaProtectedConfigurationProvider 的RSA 密钥容器,

NetFrameworkConfigurationKey 是 RsaProtectedConfigurationProvider 的默认provider。 成功!

3、现在,可以加密web.config ,运行:

加密:aspnet_regiis -pe "connectionStrings" -app "/Myweb"

说明:"connectionStrings" 是要加密的节,"/Myweb"是的web目录

解密:aspnet_regiis -pd "connectionStrings" -app "/Myweb"

成功!

4、这样就可以在程序里调用了(不用解密, 哈哈

):

...

string connstr= ConfigurationManager.ConnectionStrings["myConnstr"].ConnectionString.ToString();

...

同样的,也可以用创建自己的RSA 密钥容器,如下:

(1)、创建 "MyKeys" 密钥容器,运行:aspnet_regiis -pc "MyKeys" -exp

(2)、在web.config里加入以下:

<protectedData>

<providers>

<add name="MyProvider"

type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0. 0.0,

Culture=neutral, PublicKeyToken=b03f5f7f11d0a3a,

processorArchitecture=MSIL"

keyContainerName="MyKeys"

useMachineContainer="true" />

</providers>

</protectedData>

保存。

(3)、授予帐户对计算机级别的 "MyKeys" RSA 密钥容器的访问权限,运行:

aspnet_regiis -pa "MyKeys" "NT AUTHORITY\NETWORK SERVICE"

(4)、现在,可以加密web.config ,运行:

加密:aspnet_regiis -pe "connectionStrings" -app "/Myweb" -prov "MyProvider"

说明:"connectionStrings" 是要加密的节,"/Myweb"是的web目录,"MyProvider" 自己密钥容器

解密:aspnet_regiis -pd "connectionStrings" -app "/Myweb" -prov "MyProvider"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: