Ваши пароли в опасности, если сервис работает неправильно: как «цифровой отпечаток» спасает данные от взлома и что это такое
Ежедневно, вводя пароли, мы доверяем интернет-сервисам свои секреты - деньги, фотографии, важную информацию. Однако реальность такова, что хакеры не дремлют, а утечки данных происходят с пугающей частотой. Как же понять, защищен ли ваш аккаунт на самом деле? Ответ кроется в технологии хеширования - незаметном, но мощном механизме, который превращает ваш пароль в уникальный отпечаток, понятный только машине. Представьте себе механическую мясорубку, в которую вы загружаете слово или текст. На выходе получается короткая строка - хеш или дайджест...
449 читали · 1 год назад
Extensible Storage — что это и с чем это едят
Всем привет! Сегодня будет очень большая и подробная статья. Я задумывал её как обычное описание поведения классов в Revit API, но в процессе перешёл к созданию приложения по работе со Schema (далее для простоты — схема), написал очень много кода и сделал очень интересную штуку. Сегодня вы узнаете, как создавать свои схемы, как записывать в них данные, чем отличаются Schema, Field и Entity и как работать с ArrayField и MapField. По пути я напомню вам про конвертёры в WPF и расскажу про DataTemplateSelector Поехали! В этой статье мы подробно рассмотрим классы из пространства имён Autodesk...
3 года назад
Под "капотом" HashSet
HashSet в Java представляет собой коллекцию, которая не допускает дублирования элементов и не гарантирует порядок хранения элементов. Внутри HashSet используется HashMap, где ключи - это элементы коллекции, а значения - это заглушки (dummy values), которые используются для эффективного хранения элементов. Когда элемент добавляется в HashSet, он сначала проверяется на наличие в HashMap. Если элемент уже присутствует в HashMap, то он не добавляется в HashSet. Если элемент отсутствует в HashMap, то он добавляется в HashMap как ключ с заглушкой в качестве значения, а затем ключ добавляется в HashSet...