Что такое хеширование?
Хэширование — это процесс преобразования любого заданного ключа или строки символов в другое значение. Обычно это представляется более коротким значением фиксированной длины или ключом, который представляет и упрощает поиск или использование исходной строки.
Наиболее популярным применением хеширования является реализация хеш-таблиц. Хэш-таблица хранит пары ключей и значений в списке, доступном через ее индекс. Поскольку количество пар «ключ-значение» не ограничено, хеш-функция сопоставляет ключи с размером таблицы. Затем хеш-значение становится индексом для определенного элемента.
Хеш-функция генерирует новые значения в соответствии с математическим алгоритмом хеширования, известным как хеш-значение или просто хэш. Чтобы предотвратить преобразование хэша обратно в исходный ключ, хороший хэш всегда использует алгоритм одностороннего хэширования.
Хеширование имеет отношение к индексации и извлечению данных, цифровым подписям, кибербезопасности и криптографии, но не ограничивается ими.
Для чего используется хеширование?
- Поиск данных
- Цифровые подписи
- и т. д.
Хэширование использует функции или алгоритмы для сопоставления данных объекта с репрезентативным целочисленным значением. Затем хэш можно использовать для сужения поиска при обнаружении этих элементов на карте данных объекта.
Например, в хеш-таблицах разработчики хранят данные — возможно, запись о клиенте — в виде пар «ключ-значение». Ключ помогает идентифицировать данные и выступает в качестве входных данных для функции хеширования, в то время как хеш-код или целое число затем сопоставляются с фиксированным размером.
Хэш-таблицы поддерживают следующие функции:
- вставить (ключ, значение)
- получить (ключ)
- удалить (ключ)
Помимо возможности быстрого извлечения данных, хеширование помогает шифровать и расшифровывать цифровые подписи, используемые для аутентификации отправителей и получателей сообщений. В этом сценарии хэш-функция преобразует цифровую подпись до того, как хешированное значение (известное как дайджест сообщения) и подпись будут отправлены получателю отдельными передачами.
Типы хеш-алгоритмов
Криптография использует несколько хеш-функций для защиты данных. Некоторые из самых популярных криптографических хэшей включают следующее:
- Алгоритм безопасного хеширования 1 (SHA-1)
- Алгоритм безопасного хеширования 2 (SHA-2)
- Алгоритм безопасного хеширования 3 (SHA-3)
- MD2
- MD4
- MD5
Как показано выше, создайте функцию для создания хэша.
Затем,
ВЫВОД: = b10a8db164e0754105b7a99be72e3fe5
package main import ( "crypto/md5" "encoding/hex" "io" ) func CreateMd5Hash(text string) string { hasher := md5.New() _, err := io.WriteString(hasher, text) if err != nil { panic(err) } return hex.EncodeToString(hasher.Sum(nil)) } func main() { println(CreateMd5Hash("Hello World")) }
Если вы нашли это полезным, не забудьте показать свою поддержку аплодисментами, и если вы хотите помочь другим в их проектах, мы будем очень признательны за то, чтобы поделиться! Дайте мне знать, что вы думаете об этом! Удачного обучения хешированию!