Verwendung der PHP 5.5-Funktionen „password_hash“ und „password_verify“ zur sicheren Passwortspeicherung
Frage:
Wenn Sie die Funktion „password_hash()“ von PHP 5.5 zum Speichern von Benutzerkennwörtern verwenden, sollte das Salt vorhanden sein getrennt vom Haschisch gelagert?
Antwort:
Nein, das Salz getrennt vom Haschisch zu lagern ist falsch. Die Funktion „password_hash()“ generiert einen String, der sowohl den Hash als auch den Salt enthält. So verwenden Sie es richtig:
$hashAndSalt = password_hash($password, PASSWORD_BCRYPT); // Insert $hashAndSalt into database against user
So überprüfen Sie das Passwort:
if (password_verify($password, $hashAndSalt)) { // Verified }
Dieser Ansatz bietet optimale Sicherheit, da er verhindert, dass Angreifer auf das Salt zugreifen und den Hash kompromittieren. Darüber hinaus wird empfohlen, mysqli anstelle von ext/mysql zu verwenden, was in PHP 5.5 veraltet ist, und sich der SQL-Injection-Schwachstellen bewusst zu sein.
Das obige ist der detaillierte Inhalt vonSollte ich das Salt separat speichern, wenn ich PHPs „password_hash()' verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!