Я не специалист в этой области, но это мое понимание:
Учитывая соль, злоумышленник может построить так называемый «радужный стол», который, по сути, противоположен хэш-функции. С помощью этой таблицы они могут искать зашифрованное значение в таблице и возвращать входной пароль, такой что hash(password + salt) = encrypted value
.
Тем не менее, хотя поиск выполняется быстро, создание радужных таблиц занимает очень много времени. Простая вещь, которую вы можете сделать, это сгенерировать солт-значение случайным образом для каждой учетной записи и сохранить его вместе с зашифрованным паролем. Таким образом, если злоумышленник захочет получить пароли, он должен будет создать радужную таблицу для каждого пользователя, а не создать один для всего сайта.
(Соль по-прежнему намного лучше, чем ничего, потому что таким образом злоумышленник должен по крайней мере создать свой собственный радужный стол, а не просто загрузить обычный).
Больше информации и, возможно, лучший ответ