Passwörter sicher speichern und überprüfen mit den Passwortverwaltungsfunktionen von PHP
Beim Umgang mit Passwörtern in Webanwendungen steht Sicherheit an erster Stelle. PHP 5.5 führte die Funktionen „password_hash()“ und „password_verify()“ ein, um diese wichtige Aufgabe zu unterstützen.
Erstellen eines sicheren Hash
Die Funktion „password_hash()“ generiert einen sicheren Hash eines bestimmten Passworts mithilfe eines Algorithmus wie BCRYPT. Um einen Hash zu erstellen, sind drei Parameter erforderlich: das Passwort selbst, der Hashing-Algorithmus (z. B. PASSWORD_BCRYPT) und eine Reihe von Optionen. Zu den Optionen gehören die Angabe der Kosten (ein Rechenfaktor) und eines eindeutigen Salt (zufällig generierte Daten, die dem Hash hinzugefügt werden, um seine Einzigartigkeit zu erhöhen).
Speichern von Passwort und Salt
Im Gegensatz zur ursprünglichen Abfrage besteht der richtige Ansatz darin, sowohl den Hash als auch den Salt in der Datenbank zu speichern. Dies liegt daran, dass „password_hash()“ einen String zurückgibt, der beide Elemente enthält. In einer MySQL-Anweisung zum Beispiel:
INSERT INTO users(username, password_hash) VALUES($username, $hashAndSalt);
Passwortüberprüfung
Wenn sich ein Benutzer anmeldet, muss das eingegebene Passwort anhand des gespeicherten Hashs überprüft werden. Rufen Sie dazu den gespeicherten Hash ab (der sowohl den Hash als auch den Salt enthält) und übergeben Sie ihn an password_verify():
if (password_verify($password, $hashAndSalt)) { // Verified }
Zusätzliche Sicherheitsmaßnahmen
Darüber hinaus Berücksichtigen Sie bei der Nutzung dieser Funktionen weitere Sicherheitsmaßnahmen:
Das obige ist der detaillierte Inhalt vonWie können die PHP-Funktionen „password_hash()' und „password_verify()' Passwörter sicher speichern und überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!