2015-08-16 3 views
9

Laravel verwendet bcrypt, um Passwörter zu hashen.Wo sind Laravel Passwort Salze gespeichert?

Nach diesem Artikel erstellt und verwendet die Hash::make-Funktion zu einem bestimmten Zeitpunkt eine Zufallszeichenfolge mit 22 Länge als Salz, um das Kennwort zu generieren.

Für ein einzelnes eindeutiges Kennwort gibt Hash::make eindeutige Hashes zurück und weist darauf hin, dass es irgendwo eine Art von Salzung verwendet.

Aber diese Salze sind nicht in der Tabelle Benutzer gespeichert, wo ich sie erwarten würde. Wie erkennt Laravel den richtigen Hash, um das Passwort zu bestätigen?

Laravel Hash Explained

Antwort

10

Der Artikel, der Ihnen die Antwort enthalten verknüpft zu sein scheint. https://mnshankar.wordpress.com/2014/03/29/laravel-hash-make-explained/

Die Klugheit dafür ist, dass der Algorithmus, Salz und Kosten in die Hash-eingebettet sind und so leicht in einzelnen Komponenten analysiert out für den Wiederaufbau/Verifizierung (Siehe relevanten Abschnitte des PHP werden kann Crypt-Quellcode bei https://github.com/php/php-src/blob/master/ext/standard/crypt.c#L258). Aus diesem Grund müssen Sie das Salz/die Kosten nicht separat in einer Datenbanktabelle speichern.