Генерация соли вручную: bcrypt.genSalt и bcrypt.genSaltSync

Алгоритм bcrypt основан на идее адаптивного хеширования, где ключевым элементом выступает соль (salt) — случайная строка, добавляемая к паролю перед хешированием. Соль предотвращает использование радужных таблиц и делает каждый хеш уникальным даже для одинаковых паролей.

Внутри bcrypt соль не является просто дополнительной строкой — она встроена в сам процесс вычисления хеша и влияет на итоговую сложность вычислений.

Основные задачи соли:

  • исключение одинаковых хешей для одинаковых паролей
  • защита от предварительно вычисленных таблиц (rainbow tables)
  • усложнение массового взлома баз данных паролей
  • обеспечение уникальности каждого результата хеширования

В библиотеке bcrypt.js генерация соли может происходить автоматически, но ручное управление этим процессом даёт больше контроля над безопасностью и производительностью.


Уровень сложности (cost factor) и его влияние на соль

Перед генерацией соли важно понимать параметр cost factor (или rounds). Он определяет, сколько итераций алгоритм выполнит при вычислении хеша.