(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_verify — Überprüft, ob ein Passwort und ein Hash zusammenpassen
Überprüft, ob ein Passwort und ein Hash zusammenpassen. password_verify() ist kompatibel zu crypt(). Daher können Passwort-Hashes, die mit crypt() erzeugt wurden, mit password_verify() verwendet werden.
Es ist zu beachten, dass password_hash() den Algorithmus, den Aufwand und den Salt als Teil des Hashes zurückgibt. Somit sind in Hash alle Informationen enthalten, die für die Überprüfung des Hashes erforderlich sind. Dies erlaubt es der Funktion, den Hash zu prüfen, ohne dass Informationen über den Salt oder den Algorithmus an anderer Stelle gespeichert werden müssen.
Diese Funktion ist vor Timing-Angriffen sicher.
password
Das Passwort des Benutzers.
hash
Ein Hash, der durch password_hash() erzeugt wurde.
Beispiel #1 password_verify()-Beispiel
Dies ist ein vereinfachtes Beispiel; es wird empfohlen, ein korrektes Passwort bei Bedarf noch einmal zu hashen; siehe password_needs_rehash() für ein Beispiel.
<?php
// Siehe auch das password_hash()-Beispiel in diesem Kontext
$hash = '$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Valides Passwort!';
} else {
echo 'Invalides Passwort.';
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Valides Passwort!