Храните только salted slow hash (Argon2id / bcrypt / scrypt), никогда plaintext или быстрый хеш вроде MD5/SHA-1 для паролей; параметры cost подбирайте под latency сервера.
Разбор
- Соль уникальна на пользователя (обычно внутри формата bcrypt/argon).
- Pepper (секрет приложения) — опциональный доп. слой.
- При логине: constant-time compare хешей.
- Миграция: при успешном входе перехешировать устаревший алгоритм.
Итог
Пароли = adaptive KDF с солью; быстрые хеши и plaintext недопустимы.