Как хранятся пароли в БД

Python Senior Без компании
Как хранятся пароли в БД
Ответы
Пароли никогда не хранятся в открытом виде. Используются хеш-функции (например, bcrypt, PBKDF2, Argon2) для преобразования пароля в уникальную строку фиксированной длины. Дополнительно применяется "соль" (salt) - случайные данные, добавляемые к паролю перед хешированием, чтобы защитить от атак rainbow tables. Пример с bcrypt: ``` import bcrypt password = b"my_secure_password" salt = bcrypt.gensalt() hashed = bcrypt.hashpw(password, salt) # Храним только hashed в БД print(hashed) # b'$2b$12$...' # Проверка пароля input_password = b"user_input" if bcrypt.checkpw(input_password, hashed): print("Password correct") ``` Критические моменты: - Всегда используйте специализированные библиотеки (не самописные решения) - Выбирайте адаптивные хеш-функции (замедленные) - Никогда не храните пароли в логах или отладочных выводах