Средний
Как безопасно хранить пароли пользователей в БД?
Хранить пароли в открытом виде (Plain text) или использовать устаревшие алгоритмы (MD5, SHA-1) — преступление.
Правильный подход:
1. Хэширование: Использовать криптографические хэш-функции, специально созданные для паролей (bcrypt, scrypt, Argon2). Они работают намеренно медленно, чтобы усложнить перебор (Brute-force).
2. Соль (Salt): К каждому паролю перед хэшированием добавляется уникальная случайная строка. Это защищает от взлома по "радужным таблицам" (Rainbow tables).
3. Перец (Pepper): Секретный ключ, который хранится в конфигах сервера (а не в БД) и добавляется ко всем паролям. Если хакер украдет только дамп БД, он не сможет расшифровать пароли без "перца".