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