加密在 Web.Config 中存储的数据库连接字串
2010-01-02 03:27
357 查看
原文: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 类来加密连接字串。你可以使用下面的例子进行转换:
这里,我们使用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)
作者: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 类来加密连接字串。你可以使用下面的例子进行转换:
这里,我们使用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)
相关文章推荐
- 如果想对web.config的数据库连接字符串进行加密的话,这里提供了两个方法:
- 对web.config的数据库连接字符串进行加密
- ASP.NET web.config中,数据库连接字符串的加密与解密
- 我们如果想对web.config的数据库连接字符串进行加密的话,那么这里提供了两个方法。
- [ASP] asp.net 2.0 中使用web.config存储数据库连接字符串
- 对web.config中的数据库连接字符串进行加密
- asp.net加密web.config 加密数据库连接字符串
- 对web.config中的数据库连接字符串进行加密
- 对web.config的数据库连接字符串进行加密
- asp.net 2.0 中使用web.config存储数据库连接字符串
- C#访问数据库使用web.config配置连接字串
- web.config的数据库连接字符串进行加密
- 获取WEB.config的数据库连接字符串
- Asp.Net中Web.Config中的数据库连接字符串的调用方法(初学者实例)
- 疑问:配置Web.Config时出现无法连接到 SQL Server 数据库的问题!!!(已解决)
- C#中如何读取webconfig.xml里的数据库连接字符串
- 对asp.net2.0网站web.config中的数据库连接字符串加密
- ASP在 Web.config 中创建数据库连接字符串
- web.config connectionStrings 数据库连接字符串的解释(转载)
- Web.config中能否用Widows身份验证连接SQL 2005数据库