Алгоритмы хеширования
Автор Wladimir gerzuk задал вопрос в разделе Другое
что такое хэш и получил лучший ответ
Ответ от Ольга рыбакова[гуру]
комп. то же, что хэш-функция; число фиксированной длины, которое ставится в соответствие данным произвольной длины таким образом, чтобы вероятность появления различных данных с одинаковым хешем стремилась к нулю, а восстановить данные по их хешу было как можно труднее ◆ Однако процедура вычисления хэша LANMAN имеет несколько особенностей, значительно ослабляющих уровень защиты.
комп. то же, что хэш-таблица; структура данных, массив, идентификаторами элементов которого являются не целые числа, а данные других типов (обычно строки) ◆ Чтобы ускорить поиск, сделан хэш по имени.
сленг то же, что гашиш; наркотическое вещество, представляющее собой эссенцию из марихуаны ◆ По появлении тошноты скурю совсем немного хэша, а на пике покурю еще раз, но уже основательно, очень основательно.
Хеширование (иногда хэширование, англ. hashing) — преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины. Такие преобразования также называются хеш-функциями или функциями свёртки, а их результаты называют хешем, хеш-кодом или дайджестом сообщения (англ. message digest).
Хеширование применяется для сравнения данных: если у двух массивов хеш-коды разные, массивы гарантированно различаются; если одинаковые — массивы, скорее всего, одинаковы. В общем случае однозначного соответствия между исходными данными и хеш-кодом нет в силу того, что количество значений хеш-функций меньше, чем вариантов входного массива; существует множество массивов, дающих одинаковые хеш-коды — так называемые коллизии. Вероятность возникновения коллизий играет немаловажную роль в оценке качества хеш-функций.
Существует множество алгоритмов хеширования с различными характеристиками (разрядность, вычислительная сложность, криптостойкость и т. п.) . Выбор той или иной хеш-функции определяется спецификой решаемой задачи. Простейшими примерами хеш-функций могут служить контрольная сумма или CRC.
Хэш (hash) представляет из себя набор ассоциативных связей. Ключом хэша может быть любая скалярная величина: строка, ссылка, целое или дробное число, автоматически преобразуемое в строку.