@Ozrae

Правильно ли я понимаю хеширование?

Хеш код получается после того как массивы данных проходят через итерации хеш функций. К сожалению, сайты пишут о хеше очень коротко, поэтому у меня возникли вопросы:
1) Можно самому задавать длину хеш кода или это определяется хеш функцией и обьемом массива данных?
2) Хеш код можно преобразовать обратно в массив данных? Я читал, что сайты сами не знают паролей пользователей, потому что хранят их в виде хеш кода, получается нельзя преобразовать хеш обратно и прочитать или они не делают это из принципов?
  • Вопрос задан
  • 454 просмотра
Решения вопроса 2
DevMan
@DevMan
1) длина хэша определяется функцией. хоть для одного символа, хоть для терабайта, длина хэша будет одинаковой.
2) хэш – необратимое преобразование.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Хэш - это сюръекция, если он имеет коллизии, и обычно - это так, но не всегда.
Хеш обратим в свою любую коллизию (набор данных, дающих тот же результат хеширования).
Иначе - хэш биективен.

Также, хеш может быть универсален.

Частые (но не все, разумеется!) варианты использования:
1. Проверка целостности файлов: обычно указывают контрольные суммы. Это и есть хеш содержимого файлов.
2. Применение для валидации доступа или подписи запросов: применяют хеширование с коллизиями для определённого набора данных и затем сравнивают этот хеш с результатом расчёта для этого же набора данных на другом узле.
В этот момент, данные формирующие хеш, передаются частично (либо не передаются вовсе, а передаётся только сам хеш). При получении одиночного хеша или хеша с неполным набором данных, происходит формирование (расчёт) своего (контрольного) хеша по известному выражению на основе исходных данных, и затем выносится вердикт: совпадают с принятый и контрольный хеши или нет.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы