О хешировании

Что такое хеш и почему по нему нельзя восстановить пароль.

Что такое хеш

Хеш — это «отпечаток» данных фиксированной длины. Любой текст (хоть одно слово, хоть целая книга) превращается в строку фиксированного размера. Главное свойство: процесс необратим — по хешу нельзя восстановить исходный текст.

hash("привет")2b8d...e4f1 (всегда одинаковый для одного и того же текста)

Зачем хешируют пароли

Сайты не хранят пароли в открытом виде. Вместо пароля хранится его хеш. Когда ты входишь, сайт хеширует введённый пароль и сравнивает с сохранённым хешем. Так даже если базу украдут — настоящих паролей там нет.

SHA-256 и SHA-512

Это два популярных алгоритма хеширования. Разница в длине результата:

АлгоритмДлина хешаСкорость
SHA-256256 бит (64 hex-символа)быстрый
SHA-512512 бит (128 hex-символов)быстрее на 64-бит CPU

Пример на Python

import hashlib

digest = hashlib.sha256("привет".encode()).hexdigest()
print(digest)  # 64 символа в шестнадцатеричном виде

Именно hashlib используется на этом сайте для хеширования паролей. Подробнее про защиту читай в разделах О соли и Безопасность паролей.