Heim >Backend-Entwicklung >PHP-Tutorial >Wie können „password_hash()' und „password_verify()' von PHP 5.5 Benutzerkennwörter sicher speichern und überprüfen?

Wie können „password_hash()' und „password_verify()' von PHP 5.5 Benutzerkennwörter sicher speichern und überprüfen?

Susan Sarandon
Susan SarandonOriginal
2024-12-23 04:00:14237Durchsuche

How Can PHP 5.5's `password_hash()` and `password_verify()` Securely Store and Verify User Passwords?

Passwortspeicherung und -überprüfung mit PHP 5.5

Beim Sichern von Benutzerpasswörtern ist es wichtig, robuste Verschlüsselungstechniken einzusetzen, um unbefugten Zugriff zu verhindern. Zu diesem Zweck wurden in PHP 5.5 die Funktionen „password_hash()“ und „password_verify()“ eingeführt, die eine komfortable und sichere Lösung für den Umgang mit Passwörtern bieten.

Korrekte Passwortspeicherung

Der bereitgestellte Code demonstriert einen falschen Ansatz zur Passwortspeicherung. Sie sollten das Salz nicht separat aufbewahren, sondern sowohl Haschisch als auch Salz. Die Funktion „password_hash()“ generiert eine Zeichenfolge, die beide Elemente enthält.

Die richtige Art, das Passwort zu speichern, ist:

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
// Insert $hashAndSalt into the database

Passwortüberprüfung

Um das Passwort zu überprüfen, rufen Sie das zuvor gespeicherte $hashAndSalt aus der Datenbank ab und verwenden Sie es mit der Funktion „password_verify()“ Funktion:

if (password_verify($password, $hashAndSalt)) {
    // Verified
}

Zusätzliche Sicherheitsüberlegungen

Während die Funktion „password_hash()“ einen sicheren Passwortspeichermechanismus bereitstellt, ist es wichtig, andere bewährte Sicherheitsmethoden einzuhalten. Erwägen Sie die Verwendung von:

  • mysqli-Erweiterung anstelle von mysql (veraltet in PHP5.5)
  • Eingabevalidierung zur Verhinderung von SQL-Injection

Das obige ist der detaillierte Inhalt vonWie können „password_hash()' und „password_verify()' von PHP 5.5 Benutzerkennwörter sicher speichern und überprüfen?. 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