zoukankan      html  css  js  c++  java
  • 加密在 Web.Config 中存储的数据库连接字串

    原文:Storing and Reading Base64 Encoded Connection String in Web.Config
    作者:Bipin Joshi
    出自:DotNetBips
    选译:Miller (sljzdotcom@gmail.com)

    Introduction:

        许多人使用 Web.Config 来存放数据库连接字串,可是 Web.Config 是一个XML文件,所有信息都是以明文保存的,特别重要的是,任何人都可以很轻易的看到你的数据库的信息,包括用户名和密码。在这篇文章中,你可以看到,如何能够使用 Base64 编码来加密存储在 Web.Config 中的数据,最后,你将可以了解如何能够在你的代码中解密并使用。
       
    请注意:Base64 编码并不是一个安全的算法,但是它能够快速而方便的办法来隐藏连接字串以防止一般用户。

    Storing custom values in web.config

    <appSettings>
       
    <add key="connectionstring" 
       value
    ="data source=.\vsdotnet;initial 
       catalog=Northwind;user id=sa;password=mypassword"
    />

    </appSettings> 

    Encrypting connection string:

        我们使用 System.Convert 类来加密连接字串。你可以使用下面的例子进行转换:

    Public Shared Sub Main(args() As String)
    Dim data() As Byte = System.Text.ASCIIEncoding.ASCII.GetBytes(args(0
    )) 
    Dim str As String =
     Convert.ToBase64String(data) 
    Console.
    WriteLine(str

    End Sub

        这里,我们使用System.Text.ASCIIEncoding.ASCII 类将连接字串转换成数组,这非常重要,一方面ToBase64String()  函数的参数必须是数组格式,同时返回值中将包含Base64编码的版本。

        将上面的代码生成应用程序(比如我生成为Base64Encrypter.exe),然后在Dos窗口下运行(注:原命令不分行,为排版的美观分成两行):

        Base64Encrypter.exe  "data source=.\vsdotnet;initial catalog=Northwind;
                                       user id=sa;password=mypassword"

        这样你可以看到输出:

        ZGF0YSBzb3VyY2U9Llx2c2RvdG5ldDtpbml0aWFsIGNhdGFsb2c9Tm9ydGh3aW5kO3VzZXIgaWQ9c2E7
    cGFzc3dvcmQ9bXlwYXNzd29yZA==

        拷贝这段字符串放到 Web.Config 文件中去,如同这样:

    <appSettings>
    <add key="connectionstring"
    value="ZGF0YSBzb3VyY2U9Llx2c2RvdG5ldDtpbml0aWFsIGNhdGFsb2c9Tm9ydGh3aW5kO3VzZXIgaWQ9c2E7
    cGFzc3dvcmQ9bXlwYXNzd29yZA=="/>
    </appSettings>

    Reading the encrypted connection string back:

        看看代码就明白了:

    Dim data() As Byte = Convert.FromBase64String (, _ ConfigurationSettings.AppSettings("connectionstring"))
    str = System.Text.ASCIIEncoding.ASCII.GetString(data)

  • 相关阅读:
    HTML页引用CSS
    C#反射
    Marshal.SecureStringToBSTR
    SQL语句创建表和数据库
    抽象类和抽象方法
    3 Sum Closest
    Chapter 2: Binary Search & Sorted Array
    Spiral Matrix
    Pascal's Triangle
    Plus One
  • 原文地址:https://www.cnblogs.com/callbin/p/1637706.html
Copyright © 2011-2022 走看看