webconfig加密

简介:
 

.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Configuration;
using System.Configuration;

namespace WebConfig加密
{
    public partial class index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        Configuration myConfiguration = null;
        ConfigurationSection myAppSettings = null;

        // DPAIP加密(用的最多)
        protected void btnDPAIP_Click(object sender, EventArgs e)
        {
            try
            {
                getAppSettings(out myConfiguration, out myAppSettings);

                if (!myAppSettings.SectionInformation.IsProtected)
                {
                    //DPAPI加密
                    myAppSettings.SectionInformation.ProtectSection

                                ("DataProtectionConfigurationProvider");
                   
                    //储存设定写入web.config文件
                    myConfiguration.Save();
                    Response.Write("用DPAIP加密成功");
                }
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message.ToString());
            }
        }

        // RSA加密(需要设置权限,比较麻烦,用的不多)
        protected void btnRSA_Click(object sender, EventArgs e)
        {
            try
            {
                getAppSettings(out myConfiguration, out myAppSettings);

                if (!myAppSettings.SectionInformation.IsProtected)
                {
                    //RSA加密
                    myAppSettings.SectionInformation.ProtectSection

                                  ("RsaProtectedConfigurationProvider");

                    //储存设定写入web.config文件
                    myConfiguration.Save();
                    Response.Write("以RSA加密成功!");
                }
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message.ToString());
            }
        }

        //取得取得Web.config中appSettings设定区段(还可以根据需要,设置需要加密的节点)
        protected void getAppSettings(out Configuration myConfig, out ConfigurationSection

                                     appSettings)
        {
            //开启Request所在路径网站的Web.config文件
            myConfig = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
           
            //取得Web.config中appSettings设定区段
            appSettings = myConfig.GetSection("appSettings");
        }

        // 完全解密
        protected void btnResolve_Click(object sender, EventArgs e)
        {
            try
            {
                getAppSettings(out myConfiguration, out myAppSettings);
                if (myAppSettings.SectionInformation.IsProtected)
                {
                    myAppSettings.SectionInformation.UnprotectSection(); //解密
                    myConfiguration.Save();
                }
                Response.Write("appSettings解密成功!");
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message.ToString());
            }
        }
    }
}

 

.aspx

<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="btnDPAIP" runat="server" Text="DPAIP加密" onclick="btnDPAIP_Click" />
        <br />
        <br />
        <asp:Button ID="btnRSA" runat="server" Text="RSA加密" onclick="btnRSA_Click" />
        <br />
        <br />
        <asp:Button ID="btnResolve" runat="server" Text="完全解密"
            onclick="btnResolve_Click" />
    </div>
    </form>
</body>





加密前

  <appSettings>
    <add key="con" value="data source=.\SQLEXPRESS;Integrated

    Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" />
  </appSettings>

 

加密结果

  <appSettings configProtectionProvider="DataProtectionConfigurationProvider">
    <EncryptedData>
      <CipherData>
       <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAzCJXt/1660evq+/58WwHfAQAAAACAAAAAAADZgAAqAAAABAAAABa4SlZnvwdFhVlRr9PuT3hAAAAAASAAACgAAAAEAAAAEDgN4H/IpjLojCaYhMXkudgAQAA1NHa7mkrBWMGqXH9nmGi8Ie1Mnuh1iD8hXaAzZ8/4UnzAwIyJBvLHln/Kv+LatS/w8hLkTR/GbnIkYhzeuk/ER1m76VUzuhRY7KcwdXkZkOxelEjWZU/jA7wcvgyEN7OkRyhV0nz98zHI+XdxQkFsLEltNacCqBx3PgCkX+sKz1hyzp06D0QQOIbqoaNSWl/QuBAIxlZohAKaTxAQcnKjrOuBofp49N4OCbDFdoIFMfWaoCSfQV0xQUEVRCkBzzd/FGVjrSYeLgk9CM9vdSnioLUDIMv62dxqEYM/0dRd4qhYTghIzWwe/POKR8IxUC++zRT/kEKh5cTw8OppW+mU1+6oqul98jxxk//UJ/HyVEBZ8XAVhetcSjUH1eXyzBcup03L8V+WnEmqAwzoibMpDmTkXIEitSZRJ/8Fy26hByUJkslQFYdtLgZ92OCLfSVCW3etWXDtMpD7cfJuMP6XBQAAAAYjlMjewxEJfZKD64skP+Lnh5x6w==</CipherValue>
      </CipherData>
    </EncryptedData>
  </appSettings>

 

加密一般用在神马时候呢?

 

当你把这个程序发布给用户,发布之前,你需要把你不希望暴露给用户的信息的节点加密。

目录
相关文章
|
机器学习/深度学习 数据采集 人工智能
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】随着人工智能的发展,深度学习技术正逐步应用于教育领域,特别是个性化学习系统中。通过分析学生的学习数据,深度学习模型能够精准预测学生的学习表现,并为其推荐合适的学习资源和规划学习路径,从而提供更加高效、有趣和个性化的学习体验。
684 9
|
7月前
|
自然语言处理 搜索推荐 机器人
合力亿捷云客服系统:2025年大模型如何重塑全渠道对话体验
2025年,以DeepSeek等大模型为核心的智能客服系统,突破传统效率瓶颈,通过全渠道整合、多模态交互、个性化服务与情感智能,重构企业客户互动模式。从机械应答到认知共情,从单一文本到多维交互,大模型赋能客服系统成为企业价值创造的战略资产,推动客户服务迈向智能化新纪元。
338 2
|
10月前
|
机器学习/深度学习 人工智能 算法
《探秘Q-learning:解锁其背后的基本假设》
Q-learning是强化学习领域的重要算法,广泛应用于机器人控制、游戏策略和资源管理等场景。它基于马尔可夫决策过程假设,认为未来状态仅依赖当前状态和动作,简化了问题复杂度。此外,Q-learning还假设奖励可量化、环境具有重复性、学习时间无限及动作离散,这些假设为智能体提供了明确的学习目标和机制,使其能高效地探索最优策略。尽管现实情况未必完全符合这些假设,Q-learning及其变种算法已在多个领域取得了显著成功。
269 28
|
11月前
|
数据可视化 搜索推荐 数据挖掘
评价:这 6 款软件在电商团队物流协作中表现如何?
在电商行业,高效的团队协作至关重要。本文推荐六款提升团队协作效率的软件:板栗看板、Trello、Asana、Wrike、Monday.com 和 Basecamp。这些软件各具特色,如板栗看板的直观可视化界面和灵活任务管理,Trello 的卡片式任务管理和丰富插件,Asana 的任务层级清晰和自定义工作流程,Wrike 的动态时间跟踪和智能任务分配,Monday.com 的多样化视图模式和自动化工作流程,以及 Basecamp 的集中式信息管理和群组讨论功能。选择合适的软件,能显著提升电商团队的协作效率。
161 6
|
机器学习/深度学习 自然语言处理 语音技术
探索深度学习中的Transformer模型及其在自然语言处理中的应用
探索深度学习中的Transformer模型及其在自然语言处理中的应用
549 5
如果API调用失败,我应该如何排查问题?
当小红书API调用失败时,可按以下步骤排查:1. 检查请求参数;2. 确认身份验证凭据;3. 控制调用频率;4. 检查网络连接;5. 查看错误码和日志;6. 核实授权范围;7. 联系技术支持;8. 定期更新与测试。这些方法有助于系统地解决问题,确保API调用稳定。
|
存储 弹性计算 安全
2024年阿里云服务器2核2G和2核4G配置可选实例规格及收费标准与优惠价格参考
阿里云服务器2核2G和2核4G配置可选实例规格及价格是多少?根据阿里云2024年的收费标准及活动价格来看,2核2G配置轻量应用服务器的最优惠的价格是61元1年,云服务器2核2G配置的价格为99元1年,轻量应用服务器2核4G的价格为165元1年,通用算力型u1实例2核4G的价格为199元1年。不同实例的价格有所不同,下面是2核2G和2核4G配置可选实例规格详解及优惠价格参考。
2024年阿里云服务器2核2G和2核4G配置可选实例规格及收费标准与优惠价格参考
|
机器学习/深度学习 人工智能 算法
人工智能处理方言和口音多样性
人工智能处理方言和口音多样性
2111 2
|
机器学习/深度学习 存储 编解码
在消费级GPU调试LLM的三种方法:梯度检查点,LoRA和量化
LLM的问题就是权重参数太大,无法在我们本地消费级GPU上进行调试,所以我们将介绍3种在训练过程中减少内存消耗,节省大量时间的方法:梯度检查点,LoRA和量化。
826 0