Что такое хеширование?
Хеширование — это процесс преобразования входных данных (например, пароля или файла) в фиксированную строку бит/символов — хеш.
Хеш-функция всегда выдаёт одинаковый результат для одинакового ввода.
Малейшее изменение входа сильно меняет результат хеша.
Хеширование — однонаправленная операция: нельзя (или крайне сложно) восстановить оригинальные данные из хеша.
Применения хеширования:
Проверка целостности файлов (например, контрольные суммы).
Хранение паролей в базе данных (не хранить пароль в открытом виде!).
Быстрый поиск данных (в хеш-таблицах).
Что такое "соль" и зачем она нужна?
Соль (от англ. salt) — это случайная строка, которая добавляется к паролю перед хешированием.
Зачем это нужно:
1️Защита от радужных таблиц — заранее подготовленных баз для мгновенного нахождения пароля по его хешу. Соль делает такие атаки бесполезными, потому что добавляет уникальность для каждого пароля.
2️Индивидуальность хеша — даже если два человека выбрали одинаковый пароль, но у каждого разная соль, их хеши будут разными.