PHP Passage_verify -Funktion

PHP Passage_verify -Funktion
Die Funktion password_verify () wird verwendet, um das Hash -Kennwort mit dem Originalkennwort abzustimmen. Eine andere Funktion, password_hash (). Die Funktion password_verify () enthält alle Hashing -Informationen, um den Hash mit dem Passwort zu überprüfen. Die Verwendungen dieser Funktion wurden in diesem Tutorial unter Verwendung mehrerer Beispiele gezeigt.

Syntax

Diese Funktion hat zwei Argumente und sie gilt für Erfolg und falsche Fehler beim Scheitern. Die Syntax dieser Funktion hat unten angegeben.

password_verify (String $ Passwort, String $ Hash): bool

Das erste Argument enthält das Passwort, das überprüft wird. Das zweite Argument enthält den Hash -Wert, der zum Überprüfen des Passworts verwendet wird oder nicht. Dieser Hash -Wert wird mit der Funktion password_hash () generiert.

Verschiedene Arten von Algorithmen können verwendet werden, um den Hash -Wert eines beliebigen Kennworts zu generieren. Das zweite Argument der Funktion password_hash () enthält einen konstanten Wert, der einen Hashing -Algorithmus anzeigt. Die Konstanten, die von der Funktion password_hash () verwendet werden können.

Konstanter Name Beschreibung
Password_default Es verwendet den Standardalgorithmus, um den Hash -Wert des Kennworts zu generieren.
Password_bcrypt Es verwendet den Algorithmus von Crypt_blowfish, um den Hash -Wert des Passworts zu generieren.
Password_argon2i Es verwendet den Argon2i -Algorithmus, um den Hash -Wert des Passworts zu generieren.
Password_argon2id Es verwendet den Argon2ID -Algorithmus, um den Hash -Wert des Passworts zu generieren.

Verwendung der Funktion password_verify ()

Die Möglichkeiten zur Überprüfung des Kennworts basierend auf dem von verschiedenen Hashing -Algorithmen generierten Hash -Wert haben in diesem Teil des Tutorials gezeigt.

Beispiel 1: Überprüfen Sie das Passwort mit dem von Password_Default generierten Hash

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, in dem ein Formular für den Benutzer angezeigt wird.

Der konstante Wert, Password_default wurde in der Funktion password_hash () verwendet, um den Hash -Wert des jeweiligen Passworts zu generieren. Als nächstes wurde die Funktion password_verify () verwendet, um den vom Benutzer angegebenen Kennwortwert zu überprüfen, ist gültig oder ungültig.



Kennwortprüfung













// Generieren Sie den Hash -Wert des Passworts
$ hash = password_hash ('SecretPass456', password_default);
// Überprüfen Sie, ob der Kennwortwert vom Benutzer übermittelt wird oder nicht
if (isset ($ _ post ['pass'])))

// Lesen Sie das vom Benutzer eingereichte Passwort
$ password = $ _post ['pass'];
// Überprüfen Sie, ob das Passwort gültig oder ungültig ist
if (password_verify ($ password, $ hash))
Das Echo 'Passwort ist gültig!';
anders
Das Echo 'Passwort ist ungültig.';


?>

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt, wenn das gültige Passwort vom Benutzer angegeben wird.

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt, wenn das ungültige Passwort vom Benutzer angegeben wird.

Beispiel 2: Überprüfen Sie das Passwort mit dem von password_bcrypt generierten Hash

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, in dem ein Formular für den Benutzer angezeigt wird.

Der konstante Wert, Password_bcrypt, und Kostenwert wurden in der Funktion password_hash () verwendet, um den Hash -Wert des jeweiligen Passworts zu generieren. Als nächstes wurde die Funktion password_verify () verwendet, um den vom Benutzer angegebenen Kennwortwert zu überprüfen, ist gültig oder ungültig.



Kennwortprüfung













// Setzen Sie den Kennwortwert
$ Passwort = "SecretPass";
// Setzen Sie den Kostenwert
$ options = ["kostete" => 15];
// Generieren Sie den Hash -Wert des Passworts und des Kostenwerts
$ hash = password_hash ($ password, password_bcrypt, $ option);
// Überprüfen Sie, ob der Kennwortwert vom Benutzer übermittelt wird oder nicht
if (isset ($ _ post ['pass'])))

// Lesen Sie das vom Benutzer eingereichte Passwort
$ password = $ _post ['pass'];
// Überprüfen Sie, ob das Passwort gültig oder ungültig ist
if (password_verify ($ password, $ hash))
Das Echo 'Passwort ist gültig.';
anders
Das Echo 'Passwort ist ungültig.';


?>

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt, wenn das gültige Passwort vom Benutzer angegeben wird.

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt, wenn das ungültige Passwort vom Benutzer angegeben wird.

Beispiel-3: Überprüfen Sie das Passwort mit dem von password_argon2i generierten Hash

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, in dem ein Formular für den Benutzer angezeigt wird.

Der konstante Wert, Password_argon2i, und Kostenwert wurden in der Funktion password_hash () verwendet, um den Hash -Wert des jeweiligen Passworts zu generieren. Der Hash -Wert des Passworts wird in der Ausgabe gedruckt. Als nächstes wurde die Funktion password_verify () verwendet, um den vom Benutzer angegebenen Kennwortwert zu überprüfen, ist gültig oder ungültig.

// Setzen Sie den Kennwortwert
$ Passwort = "SecretPass";
// Generieren Sie den Hash -Wert des Passworts
$ hash = password_hash ($ password, password_argon2i, ["kostete" => 15]);
echo "Der Hash -Wert:
$ hash ";
?>


Kennwortprüfung













// Überprüfen Sie, ob der Kennwortwert vom Benutzer übermittelt wird oder nicht
if (isset ($ _ post ['pass'])))

// Lesen Sie das vom Benutzer eingereichte Passwort
$ password = $ _post ['pass'];
// Überprüfen Sie, ob das Passwort gültig oder ungültig ist
if (password_verify ($ password, $ hash))
Das Echo 'Passwort ist gültig.';
anders
Das Echo 'Passwort ist ungültig.';


?>

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt, wenn das gültige Passwort vom Benutzer angegeben wird.

Abschluss

Die Bestätigung der Kennwortüberprüfung ist erforderlich, um den Benutzer zu authentifizieren, und es ist eine wesentliche Aufgabe einer beliebigen Website. Die Verwendung der Funktion password_verify () zum Überprüfen von Kennwörtern basierend auf verschiedenen Hash -Werten hat in diesem Tutorial mithilfe des HTML -Formulars gezeigt.