Хеширование, как программистская техника структурирования в таблицах поиска, хорошо известна широкому кругу специалистов и студентов. Например, Википедия определяет хеширование так. Хеширование (англ. hashing) — преобразование массива входных данных произвольной длины в (выходную) битовую строку фиксированной длины, выполняемое определённым алгоритмом. Функция H, реализующая алгоритм и выполняющая преобразование, называется «хеш-функцией» или «функцией свёртки». При изменении исходного текста w даже на один знак, полностью меняется хеш H(w) текста (результат хеш-функции). Однако возможны ситуации, когда разные тексты w, w’ могут порождать одинаковый хеш H(w)=H(w’). В этом случае говорят, что произошла коллизия. Коллизии существуют для большинства хеш-функций, но для «хороших» хеш-функций частота их возникновения близка к теоретическому минимуму.
В криптографии требуется, чтобы нахождение коллизий было вычислительно сложным. Более того, требуется, чтобы нахождение H(w) по w было просто, а нахождение w по H(w) было сложным. Эти свойства криптографических хеш функций лежат в основе протоколов проверки целостности, аутентификации, цифровых подписей и т.д. Эти же свойства лежат в основе блокчейн технологий.