Hallo
Das verstehe ich nicht.
crypt($_POST['f']['password'], $row['password']) == $row['password']
Lass dir doch mal die betreffenden Variableninhalte ausgeben. Mir kommt die crypt-Funktion hier auch irgendwie spanisch vor (warum sollte
$row['password']
als salt verwendet werden?!?),Weil das Salt als Prefix an das Ergebnis der Crypt-Funktion vorangestellt wird. Aus
crypt("ab", "cd")
wird also"cd<cryptwert>"
. Siehe auch das Manual.
Ok, der Code im ersten der verlinkten Beispiele gleicht dem des fraglichen Artikels. Beim anlegen des Benutzers sieht er logischerweise anders aus ($_POST['f']['password'] = crypt($_POST['f']['password'], '$2a$10$' . $salt)
), da in diesem Moment noch kein Passwort zum Vergleich mit der Eingabe existiert. Wie sucht sich die Funktion bei einem Aufruf zum Vergleich aus einem bestehenden Passwort den Salt? Das gesamte Passwort wird sie als Salt ja nicht nehmen können, denn er ist es ja nicht. Auf der Dokuseite habe ich dazu nichts gefunden.
Tschö, Auge
Es schimmerte ein Licht am Ende des Tunnels und es stammte von einem Flammenwerfer.
Terry Pratchett, „Gevatter Tod“