Хеширование и шифрование паролей: в чём разница?
Хеширование и шифрование часто путают. Для паролей правильный путь — хеширование, потому что сервер не должен уметь восстановить исходный пароль.
Почему эти термины постоянно путают
В бытовом языке всё подряд называют «зашифрованным». Но у паролей особый случай: их не нужно снова делать читаемыми.
Серверу достаточно проверить, совпадает ли ввод с ожидаемым результатом. Именно для этого и нужно хеширование.
В чём практическая разница
- Шифрование обратимо, если у вас есть ключ.
- Хеширование предназначено для сравнения, а не для восстановления исходного значения.
- Для паролей правильный путь — современное хеширование с солью.
Почему это критично при утечках
Если сервис хранит пароли обратимо, утечка сразу становится куда опаснее. Злоумышленнику нужно меньше усилий, чтобы получить прямой доступ.
Даже при хешировании утечка остаётся серьёзным инцидентом, но риск прямого раскрытия паролей всё же намного ниже.
Быстрый контрольный список
Самые важные действия из этого руководства в компактной форме.
- Если вы разрабатываете сервис, никогда не храните пароли обратимо.
- В security review всегда уточняйте, какой именно метод хеширования используется.
- Как пользователь, не повторяйте пароли: серверную часть вы не можете проверить до конца.
Общие вопросы
Создайте надежный пароль сейчас
Используйте генератор Zenkey.click, чтобы сразу создать надежный случайный пароль или безопасную парольную фразу.