Hallo
ich möchte gern im groben wissen, wie
password_verify()
in PHP funktioniert. Ich weis das der Hashwert der aus der Funktionpassword_hash()
generiert wurde jedes mal ein anderer ist. Spielenmicrotime()
usw. eine Rolle??? Sonst wüsste ich es mir nicht zu erklären.
Wie Regina bereits erklärte, wird mit einem Salt gearbeitet. Der Salt wird entweder vorgegeben oder automatisch generiert. Weiterhin können der zu verwendende Algorithmus und die Anzahl der Durchläufe angegeben oder die Vorgabewerte der Funktion genutzt werden.
Alle diese Werte (Salt, Algorithmus, Zahl der Durchläufe) sind hernach auch Bestandteile des Hashes des Passworts. Damit ist es möglich, den Vergleich mit der Funktion password_verify
durchzuführen, da diese alle benötigten Informationen aus dem Hash, mit dem eine Passworteingabe verglichen werden soll, extrahieren kann. Die Passworteingabe wird, mit den selben Parametern wie der vorhandene Hash ebenfalls gehasht. Jenachdem, wie der Vergleich ausfällt, kommt dann true
oder false
heraus.
Tschö, Auge
Eine Kerze stand [auf dem Abort] bereit, und der Almanach des vergangenen Jahres hing an einer Schnur. Die Herausgeber kannten ihre Leser und druckten den Almanach auf weiches, dünnes Papier.
Kleine freie Männer von Terry Pratchett