Microsoft PetShop程序中三个bat文件
1.将程序编译成release版本
build.bat文件:
@echo off
C:\WINNT\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe "E:\EKing\微软.net技术\PetShop4.0\PetShop.sln" /t:Build /p:Configuration=Release
PAUSE
2.两个用于对Web.config加密和解密的文件。
EncryptWebConfig.bat文件:
@echo off
C:\WINNT\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "E:\EKing\微软.net技术\PetShop4.0\Web"
PAUSE
关于Web.config配置节的加密和解密,查了一下MSDN,有如下描述:
Asp.net中使用Aspnet_regiis.exe加密和解密Web.config配置节
可以使用 ASP.NET IIS 注册工具 (Aspnet_regiis.exe) 加密或解密 Web 配置文件的各节。在处理 Web.config 文件时,ASP.NET 将自动解密已加密的配置元素。
注意
Aspnet_regiis.exe 工具位于 %windows%\Microsoft.NET\Framework\versionNumber 文件夹中。
也可以使用 System.Configuration 命名空间中的受保护配置类来加密和解密 Web 配置文件的各节、可执行文件 (.exe) 的配置文件的各节或者计算机级和应用程序级配置文件的各节。有关更多信息,请参见 SectionInformation 类的 ProtectSection 方法。有关引用 Web.config 文件的某一节的信息,请参见 WebConfigurationManager 类。有关引用 Web.config 文件以外其他文件的配置节的信息,请参见 ConfigurationManager 类。
加密 Web 配置节
要加密配置文件的内容,应将 Aspnet_regiis.exe 工具与 –pe 选项以及要加密的配置元素的名称一起使用。
使用 –app 选项可标识将加密其 Web.config 文件的应用程序,使用 -site 选项可标识该应用程序所属的网站。网站是使用 Internet 信息服务 (IIS) 元数据库中的站点号标识的。可以从 ServerVariables 集合中的 INSTANCE_META_PATH 服务器变量中检索站点号。例如,安装 IIS 时,会创建名为“默认网站”的网站作为站点 1。在该站点提供的页中,INSTANCE_META_PATH 服务器变量返回“/LM/W3SVC/1”。如果未指定 -site 选项,将使用站点 1。
使用 –prov 选项可标识将执行加密和解密的 ProtectedConfigurationProvider 的名称。如果未使用 -prov 选项指定提供程序,将使用配置为 defaultProvider 的提供程序。
注意
如果您使用的是指定自定义密钥容器的 RsaProtectedConfigurationProvider 实例,则必须在运行 Aspnet_regiis.exe 工具前创建密钥容器。有关更多信息,请参见导入和导出受保护的配置 RSA 密钥容器。
下面的命令加密应用程序 SampleApplication 的 Web.config 文件中的 connectionStrings 元素。由于不包含 -site 选项,因此假定该应用程序来自网站 1(IIS 中最常用的默认网站)。加密是使用计算机配置中指定的 RsaProtectedConfigurationProvider 执行的。
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"
在请求应用程序中的页或其他 ASP.NET 资源时,ASP.NET 会对受保护配置节调用提供程序,以解密信息供 ASP.NET 和应用程序代码使用。
注意
要解密和加密 Web.config 文件的某一节,ASP.NET 进程必须具有读取适当加密密钥信息的权限。有关更多信息,请参见导入和导出受保护的配置 RSA 密钥容器。
解密 Web 配置节
要解密已加密的配置文件内容,应将 Aspnet_regiis.exe 工具与 -pd 开关以及要解密的配置元素的名称一起使用。使用 –app 和 -site 开关可标识将解密其 Web.config 文件的应用程序。无需指定 –prov 开关来标识 ProtectedConfigurationProvider 的名称,因为该信息是从受保护配置节的 configProtectionProvider 属性中读取的。
下面的命令解密 ASP.NET 应用程序 SampleApplication 的 Web.config 文件中的 connectionStrings 元素:
aspnet_regiis -pd "connectionStrings" -app "/SampleApplication"