TGViewer
analyst_exe | инженерное мышление в IT analyst_exe | инженерное мышление в IT @analyst_exe · 511 subscribers
Post #570 341
Как работают пароли

Ни один нормальный сервис не хранит твой qwerty123 в открытом виде. Иначе одна утечка – и все пароли у злоумышленника.

Вместо пароля хранят его "отпечаток" – хеш.

Хеш-функция превращает любой текст в строку фиксированной длины. Главное свойство – односторонность: из хеша нельзя получить исходный пароль.

password123 → ef92b778...
password124 → a1b2c17a...

Любое изменение данных → новая строка

Хеш активно используется для проверки целостности данных, например, после скачивания: вычисляется хеш скачанного файла и сравнивается с хешем файла на сервере. Если хеши совпадают – файл скачан без ошибок, содержимое не изменилось.

Сколько стоит взломать

MD5 – устарел. Видеокарта перебирает ~40 млрд хешей/сек. Пароль из 8 символов подберет за считанные минуты.

bcrypt – надёжный, проверенный временем. Встроенное замедление: ~30 тыс хешей/сек. Разница с MD5 – в миллион раз.

Argon2 – современный стандарт. Сильно нагружает память, чем ломает перебор на GPU.

Медленный алгоритм – это фича. Пользователь ждёт 100мс и не замечает. Злоумышленник при переборе миллиарда вариантов ждёт годы.

Но есть НЮАНС

Квантовые компьютеры. Да, они сломают все шифрование.

А потом мир перейдет на постквантовое шифрование. В общем, пока живем спокойно.

Зачем нужна соль

Если у тысячи юзеров пароль password123 – у всех одинаковый хеш. Взломал один – взломал всех.

Соль – случайная строка, уникальная для каждого пользователя:

password123 + x7Ks9pLm → 8f4a2b1c...
password123 + Qw3rTy5z → d9e8f7a6...

Теперь каждый пароль нужно подбирать отдельно.

Как это работает

Регистрация:

Пароль прилетает по HTTPS в теле POST-запроса (не в URL – там логируется). Сервер генерирует соль, считает хеш, сохраняет в базу данных. Сам пароль не хранится.

Вход:
Сервер достаёт соль и хеш из базы данных, считает хеш введённого пароля с той же солью, сравнивает. Совпало – пускает.

Диаграммы процессов приложу в комментах.

О перце
Когда нужна более сильная защита, используется перец – общий секретный ключ, хранящийся отдельно от базы данных. Он добавляется к паролю и соли перед хешированием:

password123 + x7Ks9pLm + pepper1# → 16hs8ac0...

Даже если злоумышленник получит базу с хешами и солью, без перца он не сможет правильно вычислять хеши для проверки догадок. Подобрать пароль будет невозможно.

Выводы

🔸 Пароли не хранятся в открытом виде – только хеши
🔸 Соль препятствует массовому подбору
🔸 Перец защищает хеши при утечке БД
🔸 Медленный алгоритм – не баг, а метод защиты

И никакой магии. Когда пишешь требования к аутентификации – за фразой "пользователь может войти" стоит конкретная инженерная логика.

А вы знали, как это работает?

@analyst_exe
  • 🔥 9
  • 👍 2
  • 🤯 2
More from @analyst_exe
  1. Sep 25, 2026В ТЗ написано: «Всё работает как обычно». У нас уже 17 уточняющих вопросов к слову «обычно…
  2. Sep 24, 2026Уволил себя #1. С должности рисовальщика диаграмм) Тут ИИ меня реально заменил. Теперь я ц…
  3. Sep 21, 2026Ну это не дело, сами из резюме вытащить не могут? @analyst_exe
  4. Sep 20, 202614 моделей рисуют BPMN. Кто рабочая лошадь, а кто заставит зайца ждать? Взял историю про П…
  5. Sep 20, 2026Есть идеи, чем я таким сижу занимаюсь? Пишите варианты в комментариях) @analyst_exe
  6. Sep 19, 2026В субботу отдыхаем честно украденным мемом @analyst_exe
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →