Встречается на собеседованиях • сегодня

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

Пароли никогда не хранятся в открытом виде. Используются хеш-функции (например, bcrypt, PBKDF2, Argon2) для преобразования пароля в уникальную строку фиксированной длины. Дополнительно применяется "соль" (salt) - случайные данные, добавляемые к паролю перед хешированием, чтобы защитить от атак rainbow tables.

Пример с bcrypt:

python
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")

Критические моменты:

  1. Всегда используйте специализированные библиотеки (не самописные решения)
  2. Выбирайте адаптивные хеш-функции (замедленные)
  3. Никогда не храните пароли в логах или отладочных выводах
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы