Wywołanie `password_verify` zwraca wartość false dla poprawnego hasła
Mam następujący fragment kodu:
// bcrypt hash of 'password'
$hash = '$2yRóżne systemy mają różne algorytmy kryptograficzne, więc mogą korzystać z różnych algorytmów. Jeśli nie określisz, jakie niespodziewane rzeczy mogą się wydarzyć. Musisz najpierw sprawdzić, jaki typ szyfrowania został użyty, zanim będziesz mógł odszyfrować lub porównać.4u0cQ.WEnwHDo.C5Nl1vm.shKA0beQ32wqzphSfzklAq9OcDM2nLu';
if(password_verify('password', $hash)) {
print_r('woohoo!');
}
else {
print_r('fubar');
}
Na jednym serwerze działa dobrze (woohoo!), Na innym nie działa.Właśnie umieściłem to na codepad.org i tam też się nie udaje.
Problem polega na tym, (jak można zobaczyć na tej stronie klawiatury), że hash obliczony przezcrypt
ma długość 13 zamiast wymaganej 60.
używambiblioteka password_compat ircmaxel na github, aby zaimplementować tylko PHP 5.5password_verify
funkcjonować.