хеширование против хеш-функции - PullRequest
0 голосов
/ 10 февраля 2019

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

Ответы [ 3 ]

0 голосов
/ 11 февраля 2019

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

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

Надеюсь, это прояснит ваши сомнения.

0 голосов
/ 11 февраля 2019

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

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

Основные преимущества:

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

Если у вас есть криптографическая хеш-функция вы также получаете еще одно преимущество:

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

Результатыхеш-функция может использоваться различными способами.Как упоминалось в других ответах, хеш-таблицы являются одним из распространенных вариантов использования.Проверка целостности данных - это еще один случай - например, вы загружаете файл, затем хэшируете его, а затем сравниваете значение хеш-функции со значением, которое было указано на веб-странице, с которой вы загрузили файл.Если они не совпадают, файл был загружен неправильно.Если вы объедините значения хеш-функции с криптографией с открытым ключом, вы можете получить цифровые подписи.И я уверен, что есть и другие способы применения этого принципа.

0 голосов
/ 10 февраля 2019

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

Другими словами, хеш-функция выполняет хеширование .

Надеюсь, это прояснит.

...