webconfig 加密

发布时间:2012-04-27 21:40:34

webconfig 加密.txt点的是烟 抽的却是寂寞……不是你不笑,一笑粉就掉!人又不聪明,还学别人秃顶。绑不住我的心就不要说我花心!再牛b的肖邦,也弹不出老子的悲伤!活着的时候开心点,因为我们要死很久。请你以后不要在我面前说英文了,OK?web.config 加密 [加入收藏] [友好打印?] 前面已经讲过在 web.config 中可以存储数据库连接语句(通常存于 ),也可以存储 SQL 语句(通常存于),这样在我们的程序中就可以非常方便地调用,特别是 .NET Framework 2.0 中使用声明式数据绑定,更是需要将这些信息存储在 web.config 中。利用明文存储这些敏感信息是不明智的,这就需要加密。 利用 aspnet_regiis 对 web.config 加密 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -pef connectionStrin gs E:\wwwroot -prov DataProtectionConfigurationProvider -pef 指定两个参数: 这里 connectionStrings 是要进行加密的配置节,如果配置节不是根元素则就指定路径,如:父配置节/子配置节。 这里 E:\wwwroot 是要加密的配置文件所在的物理目录。 -prov 表示使用哪个驱动来加密,一共有两个驱动可选,在类似于 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 的位置,我们可以找到 machine.config 文件,在其 configProtectedData 配置节,我们可以看到这两个驱动的名称,以及默认的驱动是哪一个。这两个驱动是 RsaProtectedConfigurationProvider(类名 RsaProtectedConfigurationProvider)和 DataProtectionConfigurationProvider(类名 DpapiProtectedConfigurationProvider)。 RsaProtectedConfigurationProvider RSA 加密,公钥/私钥均存储在配置文件中,移植方便。 DataProtectionConfigurationProvider 使用 Windows 内置的加密服务,密钥由 LSASS.EXE 管理,无法移植。通过设置可以限定是只能某个帐户可以使用加密的数据,还是 Windows 中所有帐户均可使用。 你也可以用你自己的加密算法,具体请参见 MSDN 的实现受保护配置提供程序。 加密后,如何应用? 应用上没有变化,在获取这些加密的配置节数据时会自动对其解密。 要修改加密后的配置节内容怎么办呢。三种方法:一是对未加密的 web.config 备份进行修改,然后再加密覆盖之;二是使用 -pdf(注意不是 -pef)进行解密,再修改,再加密。注意,要对 DataProtectionConfigurationProvider 加密的配置文件进行解密,只能在加密的机器上进行;三是利用 IIS 中集成的 ASP.NET 编辑,该编辑时采用的明文,但保存时自动确定是采用密文还是明文,非常方便。

webconfig 加密

相关推荐