Публикации по теме 'hashing'


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

Хеширование и равенство в Python
TL;DR Не переопределяйте __hash__ и __eq__ для принудительного хеширования объектов. Вместо этого используйте неизменяемые объекты. Обзор Словари и наборы - одни из наиболее распространенных структур данных, которые интенсивно используются для O(1) времени поиска. Этот O(1) вид обеспечивается хэш-функциями , которые имеют следующие свойства: Если a == b , то hash(a) == hash(b) Если hash(a) == hash(b) , то a может равняться b Если hash(a) != hash(b) , то..

Хеширование — Введение
Недавно я работал над курсом Coursera Data Structures. На этой неделе моей задачей было узнать о хешировании. Хеширование широко используется в программировании. Некоторые примеры: Языки программирования — необходимо хранить специальные слова, такие как for, if, while, int, String, etc Файловые системы — отображаются через хеш-таблицу Пароли — шифрование и проверка Оптимизация хранилища для поставщиков облачных хранилищ, таких как Dropbox/Google Drive и т. д. Хорошим..

Вставить Удалить GetRandom O(1)
Разработайте структуру данных, которая поддерживает все последующие операции за среднее O(1) время. insert(val) : вставляет элемент val в набор, если он еще не присутствует. remove(val) : Удаляет элемент val из набора, если он присутствует. getRandom : возвращает случайный элемент из текущего набора элементов. Каждый элемент должен иметь одинаковую вероятность быть возвращенным. Пример: // Init an empty set. RandomizedSet randomSet = new RandomizedSet(); // Inserts 1 to..

Как обмануть своих коллег-разработчиков и иметь словари Python с неуникальными ключами!
Поймите, как объекты Python ведут себя как хешированные ключи словаря. Вы можете думать о словарях Python как о парах ключ/значение, где ключи должны быть уникальными. Если ключи должны быть уникальными, как мне создать следующий словарь? {'Apple': 1, 'Apple': 2, 'Apple': 3} Это тема данной публикации, но сначала давайте разберемся, как работают словари и их ключи. Ключи должны быть хешируемыми Словари предназначены для ускорения поиска значения на основе его ключа. Вот..

Общие проблемы безопасности в веб-приложениях. Часть 1
Йо Йо, ребята. Сегодня я хочу поговорить о некоторых распространенных проблемах безопасности в современных веб-приложениях и о лучших методах их устранения. Я надеюсь, что эта статья поможет разработчикам понять некоторые проблемы, которые встречаются в 80–85% приложений. Давайте обсудим некоторые возможные уязвимости ... Хеширование паролей Многие люди используют MD5, SHA512 для хеширования паролей. Не делай этого больше никогда! Они долгое время считались устаревшими. Что ж,..

Веселые времена с WebCrypto - Часть 1: PBKDF2
Обновление: Часть 2 вышла! На этой неделе мы с моим товарищем по команде Рамом Вальским получили уникальное задание: преобразовать модуль, связанный с криптографией, который мы написали на Node, в JavaScript с помощью WebCrypto. Поскольку мы с Рамом любим все, что связано с криптовалютой, наша реакция была следующей: Краткое введение в PBKDF2 PBKDF2 (функция получения ключа на основе пароля), как следует из названия, представляет собой функцию, используемую для получения..