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.