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

password_hash, password_verify, niezrozumienie MySQL?

Nie można haszować danych wejściowych, a następnie wysyłać do nich zapytań w bazie danych, ponieważ hasz będzie za każdym razem używał innej losowej soli. Możesz więc zahaszować to samo hasło tysiąc razy i uzyskać 1000 różnych wyników.

Musisz po prostu zapytać bazę danych o rekord związany z nazwą użytkownika, a następnie porównać skrót hasła zwrócony z bazy danych z hasłem wejściowym za pomocą password_verify() .

Również podczas początkowego zapisywania skrótu do bazy danych podczas tworzenia hasła (za pomocą password_hash() ) nie ma potrzeby ucieczki przed haszem. password_hash() nie jest w ogóle używany w procesie weryfikacji hasła.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Naruszenie ograniczeń przy utrzymywaniu relacji jeden do wielu

  2. Zmiana roku w mysql date

  3. mysql naturalne sortowanie

  4. Tablica pobierania MySQL dodaje zduplikowane wartości?

  5. Sequelize:Lub-warunek na wielu stołach