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

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

Linda Hamilton
Linda HamiltonOriginal
2024-12-04 03:18:12551Durchsuche

Why is PHP's `password_verify` Returning False?

Fehlerbehebung bei der Rückgabe von „False“ bei Password_Verify

Da Sie PHP 5.5 verwenden, um ein gehashtes Passwort mit „password_verify“ zu überprüfen, ist es wichtig, die möglichen Gründe zu untersuchen für seine unerwartete falsche Rückgabe.

Spaltenlänge Überlegung

Ein häufiges Problem bei „password_verify“ ergibt sich aus der Länge des in der Datenbank gespeicherten Hash-Passworts. Das Handbuch empfiehlt, gehashte Passwörter in einer Spalte zu speichern, die mehr als 60 Zeichen enthalten kann, wobei 255 eine optimale Wahl ist. Wenn Ihre Datenbankspalte zu kurz ist, um das von den Passwort-Hashing-Funktionen von PHP generierte gehashte Passwort aufzunehmen, kann dies zu falschen Überprüfungsergebnissen führen.

Stellen Sie daher sicher, dass Ihre Datenbankspalte ausreichend lang ist, um das gehashte Passwort zu speichern. Wenn die Spalte tatsächlich zu kurz ist, erweitern Sie sie auf eine geeignete Größe (z. B. 255 Zeichen) und stellen Sie sicher, dass das gespeicherte Hash-Passwort entsprechend aktualisiert wird.

Zusätzliche Tipps zur Fehlerbehebung

Über die Spaltenlänge hinaus können noch andere Faktoren zur Falschheit beitragen Rückkehr:

  • Falsches Passwort-Hashing:Überprüfen Sie noch einmal, ob Sie die richtige Hashing-Funktion und Salt verwenden, wenn Sie das gehashte Passwort für die Speicherung generieren.
  • Datentypkonflikt: Stellen Sie in Ihrem PHP-Code sicher, dass sowohl das vom Benutzer bereitgestellte Passwort als auch das aus der Datenbank abgerufene Hash-Passwort vorhanden sind vom gleichen Datentyp (z. B. beide Zeichenfolgen).
  • Nachgestelltes Leerzeichen: Entfernen Sie alle nachgestellten Leerzeichen aus dem vom Benutzer bereitgestellten Passwort und dem gehashten Passwort, bevor Sie sie überprüfen.
  • Veraltete Funktionen: Stellen Sie sicher, dass Sie die aktuelle Version von PHP und die richtigen Passwort-Hashing-Funktionen verwenden. Vermeiden Sie die Verwendung veralteter Funktionen wie md5 oder sha1.

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

Stellungnahme:
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