`

加密web.config中数据参数的信息

    博客分类:
  • .NET
阅读更多

 

我们都知道web.config可以保存连接字符串,我们在程序中也都是这么做的,web.config是XML,所以它有清晰的结构,是我们很容易可以读懂它,但是这也出现一个问题,我们数据库完全暴露给浏览该文件的人,这是我们所不希望的。我们可以使用一个简单有效的加密算法来加密这段连接字符,使直接浏览该文件的人不能清楚地看到这些信息。

       我们一般以下面的形式保存连接字符串:

      <appSettings>

          <add key="ConnectionString" value="server=localhost;database=test;pwd=sa;uid=sa;" />

      </appSettings>

      为了我们自己可以看得明白这些加密的字符我们需要一个额外的程序专门生成这些加密数据(这个额外的程序你可以写得很复杂但是为了说明问题,我们使用简单的base64编码数据,这其实不是加密数据,但是原理是一样的)。我们建立一个WinForm工程,专门用来生成明文到密文的(base64)转换,如果使用其它的加密算法可以替换这个加密过程。转换按钮里面的代码如下:

private void button1_Click(object sender, System.EventArgs e) {

   byte[] data = System.Text.ASCIIEncoding.ASCII.GetBytes(this.textBox1.Text);

   string str  = Convert.ToBase64String(data);

   this.textBox2.Text = str;

  }

       其中textBox2里面就是变码以后的字符。我们可以将我们web.config里面的连接字符("server=localhost;database=test;pwd=sa;uid=sa;")取出来放在这个程序里面执行生成一个新的字符串(c2VydmVyPWxvY2FsaG9zdDtkYXRhYmFzZT10ZXN0O3B3ZD1zYTt1aWQ9c2E7)。

之后我们用这个字符替换未编码的字符串。如下所示:

    <appSettings>

        <add key="ConnectionString"   value="c2VydmVyPWxvY2FsaG9zdDtkYXRhYmFzZT10ZXN0O3B3ZD1zYTt1aWQ9c2E7" />

    </appSettings>

       哈哈!看不见了吧!但是我们的程序也不认识了:-( 没关系我们自己知道加密算法所以我们的程序可以看懂,最后就是在程序中如何使用了,我们的程序需要理解这个字符串的意义,我们在数据访问层里面添加如下的工具方法

private string GetConnectionString(){

   string strconn = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];

   byte[] data = Convert.FromBase64String(strconn);

   string strRealConn = System.Text.ASCIIEncoding.ASCII.GetString(data);

   return strRealConn;

  }

这样就可以得到真实的连接字符串了。

       上文一个简单的加密(伪加密,其实本文实现的是一个编码而非加密)的方法,也许可以骗过一些人的眼睛,但是对于了解内幕的人还是起步到什么保护的作用,所以你可以扩展这个算法,使用对称或者非对称的加密算法替换该案例里面的编码算法,这样基本上就万无一失了。要使用对成加密算法加密数据请参考http://www.csdn.net/Develop/read_article.asp?id=23386里面介绍了一些方法,用非对成加密请参考其他文

分享到:
评论

相关推荐

    web.config加密工具

    在IT行业中,Web应用程序的安全性至关重要,而`web.config`文件是ASP.NET应用程序的主要配置文件,其中包含了诸如数据库连接字符串、身份验证设置等敏感信息。为了保护这些信息不被未授权的用户访问或篡改,我们可以...

    web.config machineKey 生成的算法

    在ASP.NET应用程序中,`web.config`文件是一个非常重要的配置文件,它包含了应用程序的各种设置,如安全性、数据库连接字符串、身份验证模式等。其中,`machineKey`元素是用于加密和解密数据的关键部分,特别是在...

    web.config加密解密

    为了保护这些敏感数据不被未经授权的人访问或篡改,对 `web.config` 文件中的敏感信息进行加密处理变得尤为重要。本文将详细介绍如何使用 ASP.NET 提供的工具来实现 `web.config` 文件中敏感信息的加密与解密。 ###...

    C# Web.Config 加密与解密 3

    在.NET框架中,Web.config文件是ASP.NET应用程序的配置文件,它存储了应用程序的各种设置,如数据库连接字符串、身份验证模式、授权规则等敏感信息。为了保护这些信息不被未授权的用户查看或修改,我们可以对Web....

    web.config本地加密解密方法.txt

    标题与描述均提到了“web.config本地加密解密方法”,这指向了在.NET框架中对web.config文件进行安全处理的一种重要技术。web.config是ASP.NET应用程序的核心配置文件,存储着应用的各种设置,包括连接字符串、应用...

    ASP.NET web.config中 数据库连接字符串加密解密

    *** Web配置(web.config)文件是.NET应用程序中用于存储配置信息的XML文件。其中,数据库连接字符串是一个关键的配置项,因为它通常包含敏感信息,比如服务器地址、数据库名称、用户名和密码。如果这些信息被泄露,...

    如何以安全的方式加密web.config中的连接字符串?

    - 避免在源代码控制中提交包含敏感信息的未加密web.config文件。 - 考虑使用环境变量或外部配置服务来存储连接字符串,而不是直接在web.config中,以增强安全性。 在处理web.config中连接字符串的加密时,理解ASP...

    ASPHere web.config文件编辑器

    Web.config 文件是 ASP.NET 应用程序的核心配置文件,它存储了应用程序的设置、安全信息、数据库连接字符串以及各种配置选项。使用 ASPHere,开发者可以更加高效、精确地管理和编辑这些关键的配置信息。 **Web....

    ASP.NET网站给wed.config加密解密,只要放到网站wed.config同一目录下即可运行

    在ASP.NET中,`web.config`文件是每个应用程序的核心配置文件,它存储了诸如连接字符串、身份验证设置、授权规则等敏感信息。为了保护这些信息不被未经授权的用户查看或修改,开发者有时会选择对`web.config`文件...

    【ASP.NET编程知识】ASP.NET配置文件Web.config用法详解.docx

    示例:不检测用户在浏览器输入的内容中是否存在潜在的危险数据(注:该项默认是检测,如果你使用了不检测,一要对用户的输入进行编码或验证),在从客户端回发页时将检查加密的视图状态,以验证视图状态是否已在...

    web.config配置

    `web.config`是ASP.NET应用程序中的核心配置文件,用于存储网站的各种配置信息。它采用XML格式编写,能够帮助开发者灵活地配置应用程序的各项参数,包括但不限于数据库连接字符串、应用程序设置、安全设置等。 ####...

    config加密

    在标题和描述中提到的`config加密`主要涉及两个命令行参数:`-pdf` 和 `-pef`,它们是ASP.NET配置框架的一部分,用于对Web.config或App.config文件中的特定配置节进行加密或解密。 `-pdf`(Protect Section For ...

    动态加密解密配置文件

    加密过程完成后,Web.config文件中的敏感数据将被转换为不可读的格式,只有在应用程序运行时,.NET Framework会自动解密这些信息供程序使用。这个过程是透明的,无需开发者编写额外的代码。 然而,值得注意的是,...

    C#中Web.Config加密与解密的方法

    加密后的Web.Config文件中,原本的明文配置信息会被加密后的数据替代,以确保敏感信息不被未授权访问。 对比加密前后的Web.Config文件内容,可以清晰地看到配置信息的变化。例如,加密前的connectionStrings部分...

    web.config配置连接字符串的方法

    在***开发中,web.config文件是一个非常重要的配置文件,它用于存储Web应用程序的配置信息。连接字符串是连接数据库的关键信息,它包括数据源地址、数据库名称以及认证方式等。在web.config中配置连接字符串有两种...

    webconfige加密解密

    在.NET Framework中,为了保护配置文件(web.config)中的敏感信息不被未授权访问或泄露,引入了一套加密解密机制。这种机制允许开发者对诸如连接字符串(connection strings)、应用程序设置(appSettings)等敏感...

    Carpa.Web.dll

    Carpa.config文件,通常为应用程序的配置文件,用于存储应用运行时的设置和参数。它可能包含了Carpa.Web.dll的配置信息,如数据库连接字符串、服务地址等,以便于程序根据这些配置信息正确运行。 Carpa.Web....

    MySql.Web.dll

    3. **配置文件设置**:可能需要在 web.config 文件中配置数据库连接字符串和其他相关设置。 4. **错误处理**:在使用过程中,要处理可能出现的异常,如连接失败、查询错误等,以保证应用的健壮性。 5. **安全最佳...

    详解ASP.NET配置文件Web.config

    *** Web.config配置文件是***应用程序中不可或缺的组件,它负责储存应用程序的配置信息,并采用XML格式。在使用***创建新的Web应用程序时,默认情况下会在根目录生成一个基础的Web.config文件,该文件包含默认的配置...

Global site tag (gtag.js) - Google Analytics