zoukankan      html  css  js  c++  java
  • web.config 加密/解密 正确版

    一般加密方式:

    利用Aspnet_regiis:

    cd C:WindowsMicrosoft.NETFrameworkv4.0.30319

    aspnet_regiis -pe "connectionStrings" -app "/WcfFileUploadService" -prov "DataProtectionConfigurationProvider"
    aspnet_regiis -pef "connectionStrings" "D:FieldUploadServicesWcfFileUploadService" -–prov "DataProtectionConfigurationProvider"

     利用代码:

     Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
    
                ConfigurationSection conSec = config.GetSection("connectionStrings");
                if (!conSec.SectionInformation.IsProtected)
                {
                    conSec.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");// Protect (encrypt)the section.
                    conSec.SectionInformation.ForceSave = true;// Save the encrypted section.
                    config.Save();
                    Response.Write("connectionStrings操作成功!");
                }
    
                ConfigurationSection identSec = config.GetSection("system.web/identity");
                if (!identSec.SectionInformation.IsProtected)
                {
                    identSec.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
                    identSec.SectionInformation.ForceSave = true;
                    config.Save();
                    Response.Write("system.web/identity操作成功!");
                }
    Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
                
                ConfigurationSection section = config.GetSection("connectionStrings");//加密节点名称 appSettings、connectionStrings 、system.web/identity
                if (section.SectionInformation.IsProtected)
                {
                    section.SectionInformation.UnprotectSection();
                    config.Save();
                    Response.Write("connectionStrings操作成功!");
                }
    
                ConfigurationSection identSec = config.GetSection("system.web/identity");
                if (identSec.SectionInformation.IsProtected)
                {
                    identSec.SectionInformation.UnprotectSection();
                    config.Save();
                    Response.Write("system.web/identity操作成功!");
                }

    RSA加密方式:
    //RSA Encryption
    aspnet_regiis -pc "MyKeys" -exp
    aspnet_regiis -pa "MyKeys" "domainusername"
    aspnet_regiis -pa "MyKeys" "NT AUTHORITYNETWORK"
    aspnet_regiis -pa "MyKeys" "IIS APPPOOLDefaultAppPool" -full

    <configProtectedData>
    <providers>
    <add name="MyProvider" type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" keyContainerName="MyKeys" useMachineContainer="true" />
    </providers>
    </configProtectedData>

    aspnet_regiis -pe "connectionStrings" -app "/WcfFileUploadService" -prov "MyProvider"
    aspnet_regiis -pe "system.web/identity" -app "/WcfFileUploadService" -prov "MyProvider"

    //Decryption
    aspnet_regiis -pz "MyKeys"
    aspnet_regiis -pd "connectionStrings" -app "/WcfFileUploadService"
    aspnet_regiis -pd "system.web/identity" -app "/WcfFileUploadService"

    如果对Identity加密,web.config将报错,需加:

    1   <system.webServer>
    2     <validation validateIntegratedModeConfiguration="false" />
    3   </system.webServer>
    View Code
  • 相关阅读:
    我心中的核心组件(可插拔的AOP)~第十三回 实现AOP的拦截组件Unity.Interception
    .NET 使用unity实现依赖注入
    AOP技术基础
    PowerShell 远程管理之 about_Remote_Troubleshooting
    PowerShell远程连接主机进行会话
    PowerShell_零基础自学课程_9_高级主题:静态类和类的操作
    PowerShell_零基础自学课程_8_高级主题:WMI对象和COM组件
    PowerShell 中的目录文件管理
    解决360浏览器兼容模式不兼容,极速模式兼容问题
    reportng之测试报告升级美化
  • 原文地址:https://www.cnblogs.com/lee2011/p/6042910.html
Copyright © 2011-2022 走看看