给web.config文件加密

来源:互联网 发布:php架构师工资 编辑:程序博客网 时间:2024/06/05 22:40
1、打开记事本,然后将下面的代码复制到一个新文件中。<%@ Page Language="C#" %><%Response.Write(System.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"引用自http://www.100pig.com/blog/article.asp?id=81