sql >> Database teknologi >  >> RDS >> Mysql

php password_verify virker ikke med database

Fandt problemet. da jeg gjorde dette:

echo strlen($hash)

den udskrev 90, hvilket er mærkeligt, for der var bestemt ingen mellemrum i slutningen, da jeg udskrev meddelelsen om succes/fejl, og feltet har en varchar-længde på 255

Jeg tilføjede denne linje:

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

Og nu fungerer det fint.

Det er mærkeligt, at ingen andre ser ud til at være stødt ind i dette problem. Der er lignende indlæg om password_verify, men ingen af ​​dem krævede denne type konvertering eller nogen konvertering for den sags skyld:

php password_verify virker ikke

password_verify php matcher ikke

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

Brug af PHP 5.5's password_hash og password_verify-funktion

En ting, der generer mig, er, at dette forhindrer koden i at være forward-kompatibel. Hvordan ved jeg, at hashen er 60 tegn lang, når standarden ændres?



  1. SSIS Tutorial for begyndere:Hvorfor, hvad og hvordan?

  2. Sådan opdateres SQL Server-statistikker for store tabeller

  3. LocalDateTime , ZonedDateTime og Timestamp

  4. Sådan opretter du triggere i Codeigniters migrationsbibliotek