
Hashable
🟢 lvl: jun+
Продолжаем идти по базе. Любой уважающий себя джун должен знать отличия словаря от сета. А еще, что только типы данных с протоколом Hashable мы можем пихать в множество или в ключ словаря.
ℹ️ Хэширование: что и зачем
Хэширование — это процесс применения алгоритма для преобразования элемента данных в значение. Элемент данных может быть простым целым числом, строкой или сложным объектом с несколькими свойствами.
Алгоритм называется хеш-функцией или хэшером. Преобразованное значение называется хэш-значением, хэш-кодом или просто хэшем.
Хэширование должно соблюдать правила:
🟪 Хэш-значения должны быть уникальными
🟦 Хэш-значения должны быть случайными
🟥 Хэш-значения не обязательно должны быть положительными целыми числами
Хэширование широко используется в нашей жизни:
◾Работа с базой данных: поиск
Почти все веб-сайты и мобильные приложения имеют функцию поиска где-то в своих приложениях. Реализация функции поиска предполагает использование хеширования.
◾ Криптография: пароль
Чтобы защитить наш пароль нужно его захэшировать. Мало ли его перехватят
◾️Структуры данных в программировании: Словарь
Почти все современные языки программирования имеют тип данных Dictionary, хотя они могут использовать другое имя, такое как ассоциативный массив, карта, хэш-карта, хэш или объект.
Поняв общее представление о хэшировании опустимся к тому, что предоставляет Apple.
Hashable — тип, который можно хешировать в хешере для получения целочисленного хеш-значения
Подробнее можно почитать в этой статье, лучше о хэше не найдешь
🟢 lvl: jun+
Продолжаем идти по базе. Любой уважающий себя джун должен знать отличия словаря от сета. А еще, что только типы данных с протоколом Hashable мы можем пихать в множество или в ключ словаря.
ℹ️ Хэширование: что и зачем
Хэширование — это процесс применения алгоритма для преобразования элемента данных в значение. Элемент данных может быть простым целым числом, строкой или сложным объектом с несколькими свойствами.
Алгоритм называется хеш-функцией или хэшером. Преобразованное значение называется хэш-значением, хэш-кодом или просто хэшем.
Хэширование должно соблюдать правила:
🟪 Хэш-значения должны быть уникальными
🟦 Хэш-значения должны быть случайными
🟥 Хэш-значения не обязательно должны быть положительными целыми числами
Хэширование широко используется в нашей жизни:
◾Работа с базой данных: поиск
Почти все веб-сайты и мобильные приложения имеют функцию поиска где-то в своих приложениях. Реализация функции поиска предполагает использование хеширования.
◾ Криптография: пароль
Чтобы защитить наш пароль нужно его захэшировать. Мало ли его перехватят
◾️Структуры данных в программировании: Словарь
Почти все современные языки программирования имеют тип данных Dictionary, хотя они могут использовать другое имя, такое как ассоциативный массив, карта, хэш-карта, хэш или объект.
Поняв общее представление о хэшировании опустимся к тому, что предоставляет Apple.
Hashable — тип, который можно хешировать в хешере для получения целочисленного хеш-значения
Подробнее можно почитать в этой статье, лучше о хэше не найдешь