Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt „password_verify' in PHP „False' zurück?

Warum gibt „password_verify' in PHP „False' zurück?

Patricia Arquette
Freigeben: 2024-12-04 06:26:13
Original
911 Leute haben es durchsucht

Why is `password_verify` Returning False in PHP?

Warum gibt „password_verify“ „Falsch“ zurück?

Beim Versuch, ein Passwort mit der Funktion „password_verify“ von PHP zu validieren, wie unten gezeigt, kann es sein, dass „false“ auftritt Positives:

if (password_verify($_POST['user_password'], $result_row->user_password_hash)) {
    // ...
}
Nach dem Login kopieren

Ursache:

Das Problem ist wahrscheinlich auf die Länge Ihrer Passwort-Hash-Spalte in der Datenbank zurückzuführen. Laut PHP-Handbuch wird empfohlen, Passwort-Hashes in einer Spalte zu speichern, die mindestens 255 Zeichen aufnehmen kann. Dies stellt die Kompatibilität mit dem bcrypt-Algorithmus sicher, der bekanntermaßen längenempfindlich ist.

Lösung:

Erweitern Sie die Länge Ihrer Passwort-Hash-Spalte in der Datenbank auf mindestens 255 Charaktere. Ändern Sie dazu Ihr Datenbankschema entsprechend, wie unten gezeigt:

ALTER TABLE users MODIFY COLUMN user_password_hash VARCHAR(255);
Nach dem Login kopieren

Dadurch kann Password_verify Passwörter genau validieren, indem es sie mit den gespeicherten Hashes vergleicht.

Das obige ist der detaillierte Inhalt vonWarum gibt „password_verify' in PHP „False' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage