Skip to main content

Что такое хеши?

Хеши - это математические формулы, которые берут строку данных переменной длины, обычно в форме текста, и преобразуют ее в более короткие числовые значения фиксированной длины. Хэши часто используются в компьютерных базах данных, чтобы сделать поиск более быстрым и эффективным. Они также используются в шифровании, чтобы гарантировать, что пароли не будут скомпрометированы, и для аутентификации цифровых подписей, среди прочего. Хэши также называются хэш-функциями и могут также рассматриваться как алгоритмы.

Хэши играют большую роль в облегчении поиска в базе данных. Например, в базе данных, состоящей из имен, если пользователь ищет «Джон Доу», компьютер должен будет сопоставить все символы в поиске с символами каждой записи в базе данных. Каждый символ в имени будет иметь 26 различных возможностей - буквы английского алфавита - в то время как переменная длина записей также замедлит поиск.

Напротив, применение хэш-функции значительно облегчит жизнь компьютера. Превращение каждой текстовой строки в последовательность чисел упростит поиск, потому что у компьютера будет только десять возможностей проверить каждый символ: цифры от 0 до 9. Фиксированная длина ряда номеров также помогает компьютеру выполнять свои действия. работать более эффективно.

В базе данных с примененной хэш-функцией все записи имеют соответствующий уникальный номер. Это называется хеш-ключом. В этом случае, когда вы выполняете поиск, компьютер сначала применяет хеш-функцию к введенному вами вводу, например, «Джон Доу». Это приводит к числовому значению, например «456789». Затем компьютер может быстро сопоставьте этот результат с хеш-ключом, соответствующим правильной записи.

Хеши также выполняют функцию цифровых подписей. Например, отправитель, Роберт, хочет отправить документ кому-то, а получатель, Мэри, хочет убедиться, что документ не был подделан в пути. Отправителю, Роберту, нужно только запустить документ через хеш-функцию, которая приводит к числовому значению. Затем Роберт шифрует хеш-ключ и отправляет документ вместе с зашифрованным ключом.

Мэри получает оба предмета и расшифровывает ключ хеша. Теперь она может видеть числовое значение, полученное из документа до его отправки. Чтобы убедиться, что документ в ее руках точно такой же, она пропускает документ через хеш-функцию на своем компьютере. Наконец, она сравнивает оба ключа. Если они совпадают, то документ не был изменен на пути к получателю.

Существует множество различных хеш-функций, каждая со своими математическими формулами. Чтобы хеш-функция работала, она должна сводить к минимуму любые коллизии, которые возникают, когда две записи базы данных имеют одинаковый хеш-ключ. Хеш-функции также должны быть односторонними. Это означает, что вы можете создать ключ из записи базы данных или документа, но не наоборот. Другими словами, вы не можете «перепроектировать» исходный документ по его хеш-ключу.