хеширование в словаре кроссвордиста
Википедия
Хеширование или хэширование — преобразование массива входных данных произвольной длины в битовую строку фиксированной длины, выполняемое определённым алгоритмом . Функция, реализующая алгоритм и выполняющая преобразование, называется «"хеш-функцией» или «функцией свёртки"». Исходные данные называются входным массивом, «ключом» или «сообщением». Результат преобразования называется « хешем », «хеш-кодом», «хеш-суммой», «сводкой сообщения ».
Хеширование применяется в следующих случаях:
- при построении ассоциативных массивов ;
- при поиске дубликатов в сериях наборов данных;
- при построении уникальных идентификаторов для наборов данных;
- при вычислении контрольных сумм от данных , возникающих при хранении и/или передаче данных;
- при сохранении паролей в системах защиты в виде хеш-кода (для восстановления пароля по хеш-коду требуется функция, являющаяся обратной по отношению к использованной хеш-функции);
- при выработке электронной подписи ;
- и др.
В общем случае (согласно принципу Дирихле ) нет однозначного соответствия между исходными . Случай, при котором хеш-функция преобразует несколько разных сообщений в одинаковые сводки называется « коллизией ». Вероятность возникновения коллизий используется для оценки качества хеш-функций.
Существует множество алгоритмов хеширования, отличающихся различными свойствами. Примеры свойств:
- разрядность ;
- вычислительная сложность ;
- криптостойкость .
Выбор той или иной хеш-функции определяется спецификой решаемой задачи. Простейшим примером хеш-функции может служить «обрамление» данных циклическим избыточным кодом .