首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Web.Config外部的文件中加密AppSettings

在Web.Config外部的文件中加密AppSettings,可以使用Microsoft的Enterprise Library中的加密功能。

Microsoft Enterprise Library是一个用于.NET应用程序的开发框架,它提供了一系列的工具和组件,可以帮助开发人员更轻松地实现安全、可扩展和可维护的应用程序。其中,Enterprise Library的加密功能可以帮助开发人员将敏感信息(如数据库连接字符串、密码等)加密,以保护应用程序的安全性。

在Web.Config外部的文件中加密AppSettings的步骤如下:

  1. 安装Enterprise Library

在Visual Studio中,打开NuGet包管理器,搜索“Enterprise Library”,并安装“Microsoft.Practices.EnterpriseLibrary.Data”和“Microsoft.Practices.EnterpriseLibrary.Security”两个包。

  1. 配置加密

在应用程序中,使用Enterprise Library的加密功能,可以将敏感信息加密,并将加密后的信息存储在外部文件中。例如,可以使用以下代码将数据库连接字符串加密:

代码语言:csharp
复制
string connectionString = ConfigurationManager.AppSettings["ConnectionString"];
string encryptedConnectionString = Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Cryptographer.EncryptSymmetric(connectionString);
  1. 读取加密的AppSettings

在应用程序中,可以使用Enterprise Library的解密功能,将加密的AppSettings解密并读取。例如,可以使用以下代码读取加密的数据库连接字符串:

代码语言:csharp
复制
string encryptedConnectionString = ConfigurationManager.AppSettings["EncryptedConnectionString"];
string connectionString = Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Cryptographer.DecryptSymmetric(encryptedConnectionString);
  1. 使用加密的AppSettings

在应用程序中,可以使用解密后的AppSettings进行数据库连接、身份验证等操作。例如,可以使用以下代码连接到数据库:

代码语言:csharp
复制
string connectionString = ConfigurationManager.AppSettings["ConnectionString"];
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();

总之,在Web.Config外部的文件中加密AppSettings,可以使用Microsoft Enterprise Library的加密功能,以保护应用程序的安全性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

解密.NET配置文件web.config

0x01 背景 近期有师傅反馈拿到了.NET web.config文件,发现含有数据库账密连接字符串所在的标签被加密了,导致看不到MSSQL账户和密码,如下图 图上可看出由...0x02 配置 在.NET中有两种配置数据库连接代码的方式,它们分别是 appSettings 和 connectionStrings 。...在使用 appSettings 和 connectionStrings 配置数据库连接代码时,可分别在 下添加如下代码 2.1 appSettings appSettings...dotnetKey的RSA密钥容器,命令如下 aspnet_regiis -pc "dotnetKey" -exp 将创建好的配置项内容粘贴到web.config里,主要是在config文件中加入configProtectedData...,这意味着解密过程必须在同一台计算机上完成才可以,所以通过任意下载文件下载web.config回本地是解不开的,如下图在IIS权限下执行解密命令返回空,未能解密,通常需要提权后才能解密。

1.2K30
  • 再谈web.configapp.config敏感数据加解密的二种方法

    //加密web.Config中的指定节 private void ProtectSection(string sectionName)     {         Configuration config...aspnet_regiis.exe -px "JimmyKeys" "c:\JimmyKeys.xml" 3.在web.config中增加一节,一般放在appSettings>之前就可以了...> ...     4.将web.config加密 aspnet_regiis.exe -pef "appSettings" "c:\website" -prov "JimmyRSAProvider...,aspx读取节点时也无需任何解密处理,代码不用做任何修改 注意:并不是所有的节点都能加密,ASP.NET 2.0仅支持对Web.config的部分配置节进行加密,以下配置节中的数据是不能进行加密的...cntvs\" 即对下的节点加密,这一节点同样适用于代码方式加密,经过多次尝试,似乎除了AppSettings和ConnectionStrings

    2K80

    数据库连接字符串的处理方法!加密解密连接字符串。

    修改web.config文件,加入以下代码 <APPSETTINGS> <ADD value="user id=sa;password=sa;server=....;initial catalog=数据库名称" key="connString" /> </APPSETTINGS> 然后在需要的地方调用就可以了。...5.综合 以上个四种方法各有优越缺点,用哪一个都不是最好的,另外还有一个问题没有提及 —— 加密连接字符串。 那么在一个项目里,怎么做才是最好的方法呢? —— 分层。...项目 文件) 的位置 A.对于项目来说呢只需要知道:当我要用连接字符串的时候我到DLL里面(调用函数)读取就行了,至于连接字符串具体的存放位置、是否加密等都不必关心。...如果是直接读取web.config,那么如果web.config里面放的是加密的连接字符串,那怎么处理?是不是要修改项目,或者是数据层。不要认为修改数据层就不是修改项目了。

    4.1K80

    App.config和Web.config配置文件的自定义配置节点

    2、如果当前页面所在目录下不存在web.config文件或者web.config文件中不存在该结点名,则查找它的上级目录,直到网站的根目录。...所以如果我们对某个网站或者某个文件夹有特定要求的配置,可以在相应的文件夹下创建一个web.config文件,覆盖掉上级文件夹中的web.config文件中的同名配置即可。...在asp.net应用程序运行过程中,如果web.config文件发生更改就会导致相应的应用程序重新启动,这时存储在服务器内存中的用户会话信息就会丢失(如存储在内存中的Session)。   ...所以如果我们对某个网站或者某个文件夹有特定要求的配置,可以在相应的文件夹下创建一个web.config文件,覆盖掉上级文件夹中的web.config文件中的同名配置即可。...在asp.net应用程序运行过程中,如果web.config文件发生更改就会导致相应的应用程序重新启动,这时存储在服务器内存中的用户会话信息就会丢失(如存储在内存中的Session)。

    1.7K10

    App.config和Web.config配置文件的自定义配置节点

    2、如果当前页面所在目录下不存在web.config文件或者web.config文件中不存在该结点名,则查找它的上级目录,直到网站的根目录。...所以如果我们对某个网站或者某个文件夹有特定要求的配置,可以在相应的文件夹下创建一个web.config文件,覆盖掉上级文件夹中的web.config文件中的同名配置即可。...在asp.net应用程序运行过程中,如果web.config文件发生更改就会导致相应的应用程序重新启动,这时存储在服务器内存中的用户会话信息就会丢失(如存储在内存中的Session)。   ...所以如果我们对某个网站或者某个文件夹有特定要求的配置,可以在相应的文件夹下创建一个web.config文件,覆盖掉上级文件夹中的web.config文件中的同名配置即可。...在asp.net应用程序运行过程中,如果web.config文件发生更改就会导致相应的应用程序重新启动,这时存储在服务器内存中的用户会话信息就会丢失(如存储在内存中的Session)。

    97830

    .Net4.0 Web.config 配置实践

    除根目录外,可以每个要特殊配置的子目录下新建一个Web.config文件。它可以在继承父目录的配置信息以外,可以自定义重写或修改父目录中定义的设置。...在应用运行时对 Web.config 文件的修改不需要重启服务就可以生效,因此请注意正确的修改内容,否则会引起应用站点异常并报错。...每个会话的限制并发请求数 这是为了解决 .NET Framework 4.7、4.7.1 和 4.7.2 中引入的应用兼容性问题,可以在 Web.config appSettings>配置节添加如下key...> 更多详情请参考如下链接: 有关迁移到 .NET Framework 4.7.x 的操作的重定向目标更改 正常运行指定扩展名的文件 在我们运行的一些应用中,需要运行 mp4 文件,发现运行时出现错误...要在 appSettings 节中添加的键值 Key 名称 3 keyvalue string 要在 appSettings 节中添加的键值 Key 的值 Value 方法代码如下: public

    10510

    自定义WCF的配置文件

    我们经常会碰到这样的一个场景:需要把WCF的配置信息放在一个单独的文件中,这种情况经常出现在需要为自己开发的服务配置,需要采用独立的配置文件,而不是只能放到app.config/web.config中。...例如在asp.net的在站点的默认 Web.Config 文件中使用: appSettings configSource="customAppSetting.config"/> 然后新建 customAppSetting.Config...> appSettings> appSettings> 在网站运行时,如果修改 Web.Config 文件会引起站点的重启,而修改...1、服务端自定义配置文件:在ServiceHost的父类ServiceHostBase中,有一个和配置文件的加载密切相关的方法,它为: protected virtual void ApplyConfiguration...ChannelFactory的方法CreateDescription实现上是从默认配置文件(缺省AppDomain的配置文件),所以我们通过重写这个方法就可以实现从外部文件加载配置。

    85580

    SpringBoot中的配置文件信息加密

    0.背景 在SpringBoot项目中,有的配置文件信息比较敏感,比如数据库的密码信息等,直接以明文的形式写在配置文件中或许并不安全. 1.步骤 1.1 pom文件 依赖中加入 加密信息),例如: # 原来的加密信息 yang.password=admin123 # 修改为 yang.password=DEC(admin123) 1.3 mvn命令加密文件...=yang37 执行该条mvn命令后,配置文件中的对应部分的信息会自动更改为: yang.password=ENC(加密的结果) 好,到此这一小节目的达到了,你可以不用看这节剩下的内容. 1.3.1 扩展..."); 上面的res就是你加密的结果,还需要你手动替换配置文件里面的对应的配置信息. yang.password=ENC(加密的结果) 1.4 项目启动 解密总要密文串吧?...配置文件中编写下面的信息: # 配置加密 jasypt: encryptor: password: 你的密码 你肯定会疑惑,密码写这里我还加密干嘛...所以,我们要把密码换个地方存储.

    1.6K30

    “数据访问函数库”(DataAccessLibrary for .net2.0 )源代码下载 09.06.15更新

    连接字符串,在web.config里面设置如下: appSettings> appSettings> 的密钥(加密算法需要使用的)。             空字符串,表示不加密。如果没有设置的话,采用默认的密钥。      ...因为没有使用过Orcale和mySQL,所以没有加入专门的连接方式。 访问数据库时出现错误怎么办?      需要在根目录下面添加一个“log”文件夹,并且设置权限,让asp.net可以写入文件。...当分页控件访问数据库的时候,如果出现错误,那么会在log文件夹里面添加一个文本文件,记录错误信息,包括错误信息和SQL语句,以方便查找错误。       老版本就不提供下载了,弄多了有点乱。

    81950

    Web.Config文件中使用configSource

    我们都知道,在asp.net中修改了配置文件web.config后,会导致应用程序重启,所有会话(session)丢失。...>  然后在代码中进行调用,我在VS2010中建的是控制台程序,当然还需要添加引用System.Configuration; namespace ConsoleApplication1 { class...现在可以在一个单独文件包括所有支持 configSource 属性的配置元素的配置设置。但是,当使用 configSource 属性时,由于没有元素设置的合并,因此您必须将整个节移动到单独文件。...只能包含一次configSource; 在网站运行时,如果修改 Web.Config 文件会引起站点的重启,而修改 My.Config 文件则不会,同时也提高了配置文件的可读性 注意,configSouce...中的文件路径只能为相对物理路径,也就是只能为反斜杠(\),不能用斜杠(/)。

    70220

    Asp.Net Form验证不通过,重复登录(.net4,4.5form验证兼容性问题)

    2.配置影响(如web.config中的authentication,machineKey等). 1嘛,基本不可能,ms没这么渣,那就只能从2下手,但是具体什么配置影响到,就不得而知了....通过调用加密方法在4.5上生成加密字符串,丢到4.0的机器上解密,不通过,提示加密字符串验证不通过. so,我们看看加密方法中做了什么 加密方法: 省略部分代码,剩下的关键代码。...系统默认值为flase,so.在4.5中得到的加密字符串来自FormsAuthenticationTicketSerializer.Serialize(ticket).而4中是在后续代码中. so,增加配置...AppSettings.UseLegacyEncryption开关配置.进入EncryptOrDecryptData方法中能看到这个参数影响到使用不同的加密方式....相关说明: 有关安全更新 2638420 的部署指南,请参见 MS11-100 如何配置 ASP.NET 中的旧加密模式 看了上面一个,好傻...如果发现问题的时候,之后搜索asp.net 旧加密方式.

    89320

    appsettings与connectionstrings

    大家好,又见面了,我是你们的朋友全栈君。 这篇文章源于我在做一个手机号码归属地的例子时用到了配置文件,于是像视频上说的那样,我在app.config中写下了这段代码: 的海洋里游泳…… 首先说一下什么是配置文件:在.net中提供了一种便捷的保存项目配置信息的方式,那就是利用配置文件,配置文件的文件后缀一般是.config,在我们现在学的内容里一般默认为...web.config,每个web.config文件都是基于XML的文本文件,并且可以保存到web应用程序中的任何目录中。...在发布程序是,它不编译进dl中,因此可以方便的进行改动。...其实我说的appsettings和connetionstrings专业说是节点,在查到的资料中其实有很多节点,而我们现在常用的就是这两种了。

    28840

    Asp.Net4.0VS2010新变化(1):web.config与publish

    Vs2010正式版据说4月12号就要发行,是时候摆弄一下它了  新建web application后,最直观的一个变化就在于web.config变干净了: 只有寥寥数行代码,赏心悦目!...另外注意到web.config在解决方案视图中,分成了二个: 个人觉得这是吸收了ROR中database.yml中数据库(开发,生产,测试)环境配置的思想,我们在做web开发时,难免会对调试/发布二种环境的配置做一些调整...,比如:发布环境中连接字符串将连接到正式数据库,调试环境中连接字符串连接到开发数据库,以往的做法是:发布后手动把发布目录下的web.config做一些调整再上传,而现在不需要了!...:Transform="Replace"> 的页面"/> appSettings> 中的AppSetting中的title节点,将自动替换到最终的web.config中,当然你也可以发布成Debug模式,以方便部署到测试环境中,只需要把解决方案属性修改一下,然后再发布即可:

    64780
    领券