Здравствуйте, у меня есть проблема. У меня есть веб-сайт, на котором есть страница входа и регистрации. Это работает хорошо и хранит кредиты в моем БД правильно. (https://imgur.com/uuBvhQP) Теперь мне нужно иметь возможность проверить электронную почту и пароль из моей формы входа в систему c #, но проблема в том, что пароли хешируются, и я не знаю, что с этим делать в моей форме.
Я никогда не использовал хешированные пароли в своей программе, поэтому до сих пор, как она работала, моя winform брала значения из @email и @pass и сравнивала их с БД, где пароль не хэшировался.
private void db_connection()
{
try
{
conn = "my conn string";
connect = new MySqlConnection(conn);
connect.Open();
}
catch (MySqlException e)
{
throw;
}
}
private bool validate_login(string email, string pass)
{
db_connection();
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = "Select email, password from users where email=@user and password=@pass";
cmd.Parameters.AddWithValue("@email", user);
cmd.Parameters.AddWithValue("@pass", pass);
cmd.Connection = connect;
MySqlDataReader login = cmd.ExecuteReader();
if (login.Read())
{
connect.Close();
return true;
}
else
{
connect.Close();
return false;
}
}
private void button1_Click(object sender, EventArgs e)
{
string user = username.Text;
string pass = password.Text;
if (user == "" || pass == "")
{
MessageBox.Show("Empty Fields Detected ! Please fill up all the fields");
return;
}
bool r = validate_login(user, pass);
if (r)
MessageBox.Show("Correct Login Credentials");
else
MessageBox.Show("Incorrect Login Credentials");
}