2015-08-16 33 views
9

Laravel używa bcrypt do haszowania haseł.Gdzie przechowywane są sole hasła laravel?

Zgodnie z tym artykułem, w pewnym momencie procesu funkcja Hash::make tworzy i wykorzystuje 22 losowy losowy ciąg znaków jako sól do wygenerowania hasła.

Dla pojedynczego odrębnego hasła, Hash::make zwraca unikatowe hashe, sugerując, że używa jakiegoś rodzaju solenia gdzieś w procesie.

Ale te sole nie są przechowywane w tabeli użytkowników, gdzie bym ich oczekiwał. W jaki sposób laravel zna odpowiedni skrót do sprawdzenia hasła?

Laravel Hash Explained

Odpowiedz

10

W artykule, który połączony wydaje się zawierać odpowiedź. https://mnshankar.wordpress.com/2014/03/29/laravel-hash-make-explained/

Dowcip jest to, że algorytm, sól i koszt są osadzony w hash i tak mogą być łatwo analizowane się do poszczególnych składników Odbudowy/weryfikacji (patrz odpowiednie sekcje php kod źródłowy kryptografu pod numerem https://github.com/php/php-src/blob/master/ext/standard/crypt.c#L258). Z tego powodu nie trzeba przechowywać osobno soli/kosztów w tabeli bazy danych .

Powiązane problemy