NET Framework 4.5新特性 (一) 数据库的连接加密保护。
NET Framework 4.5 ado.net数据库连接支持使用SecureString内存流方式保密文本。 一旦使用这类操作,文本加密是私有不能共享的,并在不再需要时从计算机内存中删除。 SecureString此类不能被继承。 下面做了一些演示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
private void Login_Click( object sender, EventArgs e)
{
//登录参数
string userName = Username.Text;
SecureString password = securestring(Password.Text);
password.MakeReadOnly();
//SqlCredential 提供了更安全的方式来指定使用 SQL Server 身份验证的登录尝试密码。
SqlCredential credential = new SqlCredential(userName, password);
//数据库连接
using (SqlConnection conn = new SqlConnection( "Server=(local);Initial Catalog=DATABASE;" ))
{
conn.Credential = credential;
conn.Open();
MessageBox.Show( "连接成功" );
conn.Close();
}
}
/// <summary>
/// 保密文本
/// </summary>
/// <param name="text">保密的字符串</param>
/// <returns></returns>
private SecureString securestring( string text)
{
char [] pChar = text.ToCharArray();
SecureString password = new SecureString();
foreach ( char c in pChar)
{
password.AppendChar(c);
}
return password;
}
|
当输入一个正确sql登录用户名和密码时,输出结果是这样的
当输入不正确的用户名或密码时,抛出一个sql异常
下一篇继续讲解NET Framework 4.5新特性