Где хранятся соли паролей Laravel?

9

Laravel использует bcrypt для хэш-паролей.

В соответствии с этой статьей, в какой-то момент процесса функция Hash::make создает и использует случайную строку длиной 22 длины в качестве соли для генерации пароля.

Для одного отдельного пароля Hash::make возвращает уникальные хэши, намекая, что он использует какой-то солярий где-то в этом процессе.

Но эти соли не хранятся в таблице пользователей, где я бы их ожидал. Как laravel знает соответствующий хеш для проверки пароля?

Разговор Laravel Hash

Теги:
hash
passwords
salt

1 ответ

10
Лучший ответ

В статье, в которой вы связаны, содержится ответ. https://mnshankar.wordpress.com/2014/03/29/laravel-hash-make-explained/

Умность этого заключается в том, что алгоритм, соль и стоимость встроенный в хеш и поэтому может быть легко проанализирован в отдельные компоненты для реконструкции/проверки (см. соответствующие разделы исходного кода php crypt на https://github.com/php/php-src/blob/master/ext/standard/crypt.c#L258). Из-за этого вам не нужно хранить соль/стоимость отдельно в таблицы базы данных.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню