Хэш с солью
Хэш с солью — это способ безопасного хранения паролей и других чувствительных данных, который защищает от атак по словарю и радужных таблиц.
1️⃣ Что такое хэш
Хэш-функция превращает любой вход (например, пароль) в фиксированную строку (хэш).
Хэш односторонний: из хэша нельзя восстановить исходные данные.
Пример:
пароль: "password123" хэш: "ef92b778bafe771e89245b89ecbc5c2f"
2️⃣ Проблема без соли
Два одинаковых пароля → один и тот же хэш.
Хакеры могут использовать радужные таблицы (готовые хэши паролей) для быстрого взлома.
3️⃣ Что такое соль
Соль (salt) — случайная строка, которая добавляется к паролю перед хэшированием.
Каждый пользователь получает уникальную соль, даже если пароль одинаковый.
Пример:
пароль: "password123" соль: "x9f4z1" хэш с солью: hash("password123x9f4z1") → "a1b2c3d4..."
4️⃣ Преимущества хэша с солью
Один и тот же пароль → разные хэши для разных пользователей.
Радужные таблицы становятся бесполезными.
Повышается защита при утечке базы данных.
5️⃣ Дополнительно
Иногда используют pepper — секретную соль, хранится отдельно от базы данных.
Современные алгоритмы для хэширования паролей: bcrypt, Argon2, scrypt (они автоматически используют соль и замедляют вычисления для защиты от брутфорса).
Для QA важно:
Проверять, что пароли хранятся только в виде хэша с солью, а не в открытом виде.
Проверять разные входные данные (одинаковые пароли → разные хэши).
Last updated
Was this helpful?