← Прикладная криптографическая инженерияАутентификация и пароли

Хранение паролей: соль и стоимость

Почему одинаковые пароли не должны давать одинаковые хеши и почему хеш пароля должен быть намеренно медленным.

Подписи внутри интерактивного демо пока на английском.

UserStored hash: SHA-256(password)Lookup table
accounts cracked instantly 0 / 6shared hashes 0
Real SHA-256, computed in your browser. aysel and cavid have the same password, so they have the same hash, and so do dilara and fidan. A table of hashes of common passwords cracks 0 accounts without any work.

На что обратить внимание

  • Без соли у пользователей с одинаковым паролем одинаковый хеш, и заранее вычисленные таблицы мгновенно вскрывают популярные пароли.
  • Соль делает каждый хеш уникальным, но не замедляет перебор. Замедляет его только стоимость хеширования.
  • Используйте Argon2id (RFC 9106), а если он недоступен — bcrypt или PBKDF2 с большим числом итераций. Скорости перебора здесь — грубые оценки для одного современного GPU.