NET Framework 4.5新特性 数据库的连接加密保护。

时间:2024-06-13 19:35:20

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登录用户名和密码时,输出结果是这样的

NET Framework 4.5新特性 数据库的连接加密保护。

当输入不正确的用户名或密码时,抛出一个sql异常

NET Framework 4.5新特性 数据库的连接加密保护。

下一篇继续讲解NET Framework 4.5新特性