Какова цель хеширования информации?

Проверьте это:

Элемент TEXTAREA создает многострочный текстовый входной контроль

16
задан Wooble 5 April 2013 в 12:11
поделиться

5 ответов

Хеширование может использоваться во многих целях:

  1. Это может использоваться для сравнения больших объемов данных. Вы создаете хеши для данных, храните хеши и позже если Вы хотите сравнить данные, Вы просто сравниваете хеши.

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

  3. Они могут использоваться в криптографических приложениях как цифровые подписи.

  4. Хеширование может использоваться для генерации на вид случайных строк.

Вот приложения хеш-функций, которые перечисляет Википедия:

  1. Нахождение дублирующихся записей
  2. Нахождение подобных записей
  3. Нахождение подобных подстрок
  4. Геометрическое хеширование

Теперь относительно хеш-таблицы, вот некоторые моменты, которые необходимо отметить:

При использовании хеш-таблицы хеши в таблице должны быть отсортированным способом. В противном случае необходимо будет создать индекс на столбце хеша. Некоторые реализации хранят хеш отдельно отсортированным способом и указывают на исходную запись.

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

22
ответ дан 30 November 2019 в 16:42
поделиться

alt text

Одно из основного использования хеш-таблиц, которые Вы создали в классе, - при необходимости в быстром O (1) времена поиска. Вы будете иметь, имеют два компонента, ключи и значения.

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

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

Поскольку немного ссылаются на страницу Wikipedia на Хеш-таблицах, довольно хорошо.

12
ответ дан 30 November 2019 в 16:42
поделиться

Существует несколько типичных причин хешировать данные. В примере Вы ссылаетесь, Вы хешировали бы данные и использование что как ключ для извлечения фактического значения хешированного объекта. Хешированные данные часто упоминаются как ключ, и они ссылаются на блок, где фактическое, нехешированное значение может быть найдено.

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

1
ответ дан 30 November 2019 в 16:42
поделиться

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

1
ответ дан 30 November 2019 в 16:42
поделиться

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

{
'WA': 'Washington',
'WV': 'West Virginia',
'WY': 'Wyoming'
}
1
ответ дан 30 November 2019 в 16:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: