首页 > 代码库 > NET Framework 4.5新特性 (一) 数据库的连接加密保护。

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

NET Framework 4.5 ado.net数据库连接支持使用SecureString内存流方式保密文本。  一旦使用这类操作,文本加密是私有不能共享的,并在不再需要时从计算机内存中删除。  SecureString此类不能被继承。 下面做了一些演示

  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新特性