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

php password_verify nie działa z bazą danych

Znalazłem problem. kiedy to zrobiłem:

echo strlen($hash)

wypisał 90, co jest dziwne, ponieważ zdecydowanie nie było spacji na końcu, kiedy wypisywałem wiadomość o sukcesie/porażce, a pole ma długość varchar 255

Dodałem ten wiersz:

$hash = substr( $hash, 0, 60 );

A teraz działa dobrze.

To dziwne, że nikt inny nie spotkał się z tym problemem. Istnieją podobne posty na temat password_verify, ale żaden z nich nie wymagał tego typu konwersji ani żadnej konwersji w tym zakresie:

php password_verify nie działa

password_verify php nie pasuje

http://forums.phpfreaks.com/topic/ 283407-need-help-with-password-verify/

Korzystanie z funkcji password_hash i password_verify w PHP 5.5

Jedną rzeczą, która mnie niepokoi, jest to, że uniemożliwia to kompatybilność kodu. Skąd będę wiedzieć, że hash ma długość 60 znaków, gdy zmieni się wartość domyślna?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wysoka precyzja liczbowa unosi się dzięki MySQL i SQLAlchemy ORM

  2. Yii2 – lewe dołączenie pod warunkiem wielokrotnym

  3. Wyszukiwania SQL w liczbie mnogiej/pojedynczej

  4. mysql wstaw, jeśli wartość nie istnieje w innej tabeli

  5. MySQL oblicza średnią ruchomą z N wierszy