Member 10696161 Ответов: 1

Как точно выбрать имя пользователя и пароль, обращая внимание на прописные и строчные буквы - mysql


В этом случае я создал таблицу "логины" :

+--------+--------------+---------+-----+
|ID_LOGIN| USERNAME     | PASSWORD      |
+--------+--------------+---------+-----+
| 1      | admin        | admin         | 
+--------+--------------+---------------+
| 2      | MaxiKIng1991 | #MaxiKIng1991$|
+--------+--------------+---------------+


Я собираюсь выбрать все, где указано имя пользователя и пароль. Но мне бы хотелось обратите внимание на заглавные и строчные буквы Так что, пожалуйста, взгляните. Сначала я выбрал первый логин (имя пользователя и пароль).

SELECT * FROM `logins` WHERE USERNAME = "AdMin" AND PASSWORD = "AdMin";


Когда я написал этот запрос, он показывает следующее:

+--------+--------------+---------+-----+
|ID_LOGIN| USERNAME     | PASSWORD      |
+--------+--------------+---------+-----+
| 1      | admin        | admin         | 
+--------+--------------+---------------+


Но, на мой взгляд, он не должен показывать результат. Я заметил, что sql-запрос проверяет, сколько строк находится в каждом имени столбца. Когда я 1 букву слишком много или слишком мало, то ничего не показывает.

В этом втором случае запроса:

SELECT * FROM `logins` WHERE USERNAME = "Maxiking1991" AND PASSWORD = "#maxiking1991$";

Затем покажите ниже результат:

+--------+--------------+---------+-----+
|ID_LOGIN| USERNAME     | PASSWORD      |
+--------+--------------+---------+-----+
| 2      |MaxiKIng1991  |#MaxiKIng1991$ | 
+--------+--------------+---------------+


Но это тоже не должно быть заметно.

Можно ли обратить внимание на строчные и прописные буквы в значениях в этих запросах mysql? есть идеи? Мне трудно найти какое-либо решение по этому вопросу. Thx за любую помощь и Совет.

Что я уже пробовал:

Я пробовал с теми запросами, которые я описал в этой задаче:

SELECT * FROM `logins` WHERE USERNAME = "AdMin" AND PASSWORD = "AdMin";


SELECT * FROM `logins` WHERE USERNAME = "Maxiking1991" AND PASSWORD = "#maxiking1991$";


Но они не сработали.

Richard MacCutchan

Хранить пароли в открытом тексте - значит напрашиваться на неприятности. А в ЕС это может привести вашу компанию к неограниченным штрафам за нарушение GDPR.

1 Ответов

Рейтинг:
1

Christian Graus

При создании базы данных необходимо указать параметры сортировки. Параметры сортировки по умолчанию не чувствительны к регистру. Вам нужно принять это решение для всей вашей базы данных или отозвать значения и проверить регистр в коде.

Как правило, это плохая идея-свернуть свою собственную личность, когда фреймворки любят ASP.NET идентичность существует