Запрос хэшированного столбца в SQL
В настоящее время я создаю приложение C#, которое я хотел бы иметь базовую форму входа в систему, прежде чем оно откроет основную форму.
В SQL у меня есть базовая таблица пользователей со столбцами; имя пользователя, пароль.
Я использую хэширование, чтобы не сделать пароль видимым в SQL, чтобы быть безопасным.
Я следовал инструкциям, приведенным в начале этой статьи. Безопасное хранение паролей в базе данных SQL Server[^]
Проблема в том, что теперь пароли хэшируются, и я не могу запустить запрос на вход в свое приложение.
Что мне нужно добавить, чтобы он мог читать хэш пароля?
Именно этим я сейчас и занимаюсь;
Он прекрасно работает, когда пароль отображается в SQL в виде базовых текстовых символов VARCHAR.
<pre lang="c++"> SqlConnection sqlconn = new SqlConnection(@"Server= localhost; Database= DatabaseName; Integrated Security=True;"); String query = "Select * from Users where LoginName = '" + userlogin.Text.Trim() + "'and PasswordHash = '" + passwordbox.Text.Trim() + "'"; SqlDataAdapter sda = new SqlDataAdapter(query, sqlconn); DataTable dtbl = new DataTable(); sda.Fill(dtbl); if (dtbl.Rows.Count == 1) { this.Hide(); Form1 form1 = new Form1(); form1.Show();
Что я уже пробовал:
Я пробовал искать статьи на эту тему, но ни одна из них не кажется мне очень прямолинейной?