password_verify
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_verify — Überprüft, ob ein Passwort und ein Hash zusammenpassen
Beschreibung
$password
, string $hash
): boolÜ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.
Parameter-Liste
-
password
-
Das Passwort des Benutzers.
-
hash
-
Ein Hash, der durch password_hash() erzeugt wurde.
Rückgabewerte
Gibt true
zurück, falls Passwort und Hash zusammenpassen, sonst false
.
Beispiele
Beispiel #1 password_verify()-Beispiel
<?php
// Siehe auch das password_hash()-Beispiel in diesem Kontext
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Valides Passwort!';
} else {
echo 'Invalides Passwort.';
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Valides Passwort!
Siehe auch
- password_hash() - Erstellt einen Passwort-Hash
- » Userland Implementation
- sodium_crypto_pwhash_str_verify() - Verifies that a password matches a hash