web.config文件加密
项目要求对web.config文件中的数据库连接字符串进行加密。以前只听说过,简单看过,没正式用过,周末有空,正好好好研究下。
对web.config文件加密解密过程:
1.创建密钥,在framework的命令提示符下执行以下命令:
aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE"
说明:以上是针对windows2003系统的,如果是xp系统,则命令为:
aspnet_regiis -pa "NetFrameworkConfigurationKey" "aspnet"
这个地方一定要注意,我开始用上面那条命令,在我的xp的机器上加密后怎么运行都报错。后来才想明白,在window2003上asp.net的运行账户是NETWORK SERVICE,而在xp下的运行账户是aspnet。
2.加密指定的配置节(最常用的是加密connectionStrings节):
aspnet_regiis -pe "connectionStrings" -app "/MYweb"
上述命令是加密默认站点下的MYweb应用程序下的web.config文件的connectionStrings节的。如果要加密站点根目录下的web.config文件中的connectionStrings节,则最后一个参数设为"/"即可。
3.解密指定的配置节(仍以connectionString节为例):
aspnet_regiis -pd "connectionStrings" -app "/MYweb"
可以看出与加密相比,只是一个选项变了,就是"pe"变成了"pd",对应的记也比较容易了。