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.