Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Hasło nie sprawdza rozróżniania wielkości liter

Twoje porównywanie MySQL prawdopodobnie nie uwzględnia wielkości liter . Zmień kolumnę, w której przechowywane jest hasło, na sortowanie z rozróżnianiem wielkości liter.

Kilka praktycznych zasad:

  • Gdy sortowanie kończy się na _ci, wielkość liter nie jest uwzględniana.
  • Gdy sortowanie kończy się na _cs, rozróżniana jest wielkość liter.

Przykład:

  • utf8_general_ci nie rozróżnia wielkości liter.
  • utf8_bin rozróżnia wielkość liter

Jednak ważna uwaga

Jeśli masz ten problem, prawdopodobnie źle przechowujesz hasła . Nie należy przechowywać haseł w postaci zwykłego tekstu, ale zamiast tego należy przechowywać skrót hasła i odpowiednio go solić.

Następnie, gdy użytkownik się loguje, haszujesz jego wpis i porównujesz go z tym, co przechowuje Twoja baza danych. Gdy oba są równe, użytkownik prawdopodobnie wprowadził prawidłowe hasło.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL jak porównać dwie kolumny z dwóch różnych tabel

  2. Python - automatyzacja indeksu MySQL:przekazywanie parametrów

  3. mysql dławi się niektórymi znakami, a mssql nie

  4. substr nie działa dobrze z utf8

  5. problem z utf8 w java