我在visual studio中创建了一个CRM应用程序,并包含一个管理员登录表单,它是启动uri。我创建了一个数据库来存储一些管理员的登录详细信息,并为数据库中的每个用户散列了用户名(MD5)和密码(SHA2)。但是,登录表单只接受un和pw的散列值,而不接受原始值,因为这是db中识别的值。我是哈希的新手,想知道如何检索原始值作为登录详细信息,同时为了安全目的在数据库中保留详细信息。
这是我的代码:
private void btnLogin_Click(object sender, RoutedEventArgs e)
{
String username = txtUsername.Text.ToString();
String password = pbPassword.Password;
string connStr = "Data Source=WolfSQLDEV3; Initial Catalog=NAPrivateTestDB; Trusted_Connection=true;";
SqlConnection connection = new SqlConnection(connStr);
connection.Open();
//string passwords = encryption(password);
String query = "SELECT Username, Password FROM UserLogin WHERE (Username = '" + username + "') AND (Password = '"+password+"');";
SqlCommand cmd = new SqlCommand(query, connection);
SqlDataReader sqldr = cmd.ExecuteReader();
if (sqldr.Read())
{
MainMenu menu = new MainMenu();
menu.Show();
this.Close();
}
else
{
MessageBox.Show("The username or password is incorrect");
}
connection.Close();
}