Почему bcrypt всегда возвращает разные результаты?

Рассмотрим следующий машинописный текст:

$ ./artisan tinker
>>> bcrypt('123456')
=> "$2y$10$YLswQefA6JXTYMM5nH90we9siAtG71I1/LMa5XIkplCF32EMtXmKK"
>>> bcrypt('123456')
=> "$2y$10$LoakjerqalqFxI6r.BR.x.K1fycqWS59Xqfj.pblSzlPNLOcbWa/6"

Это почему?

1 ответ

Решение

Каждый раз используется разная соль. Случайная соль добавляется в хеш, чтобы предотвратить использование предварительно вычисленных хеш-таблиц. Без соления злоумышленник сможет обнаружить общие строки, такие как password123 из-за их узнаваемых хэшей. Соление гарантирует, что хэши непредсказуемы.

Другие вопросы по тегам