Категория
Хеширование и крипто
Все инструменты и статьи этой категории, собранные в одном месте.
Инструменты
Генератор хешей (SHA-1/256/384/512)
Вычисляйте дайджесты SHA-1, SHA-256, SHA-384 и SHA-512 любого текста, показанные в hex и Base64, с помощью встроенного Web Crypto браузера. Работает полностью в вашем браузере.
Генератор HMAC (SHA-256/384/512)
Вычисляйте HMAC с ключом над сообщением, используя ваш секретный ключ, показанный в hex и Base64, через встроенный Web Crypto браузера. Та же конструкция, что верификатор JWT использует для HS256. Ваш ключ никогда не покидает ваш браузер.
Hash Preimage Finder
Watch a bounded, local brute-force search recover a weak hash input in seconds, or run out of keyspace on anything with real entropy. No wordlist, no table, just your browser. A demonstration of why fast, unsalted hashes fail.
Статьи
Хеширование, шифрование и кодирование: три разные вещи
Три постоянно путаемые операции, чисто разделённые двумя вопросами: обратима ли она и нужен ли ключ?
ЧитатьКриптографическое хеширование: SHA-256 и семейство SHA-2
Что гарантирует хеш-функция, свойства, делающие её криптографической, и почему дайджест — не шифрование.
ЧитатьВыбор хеша: MD5, SHA-1, SHA-2, SHA-3 и BLAKE
Какие хеш-функции ещё безопасны, какие взломаны, каковы их размеры вывода и как выбрать правильную.
ЧитатьКоллизии, стойкость к прообразу и граница дня рождения
Три свойства безопасности, которые должен иметь криптографический хеш, почему коллизии важны и математика дня рождения, задающая реальную стойкость.
ЧитатьХранение паролей: bcrypt, scrypt и Argon2
Почему быстрый хеш вроде SHA-256 — неподходящий инструмент для паролей и что на самом деле делают соль и факторы трудоёмкости.
ЧитатьHMAC: хеширование с ключом для аутентификации сообщений
Почему обычный хеш доказывает целостность, но не подлинность, как это исправляет секретный ключ и почему структура HMAC важна.
ЧитатьПочему HMAC, а не hash(ключ + сообщение)
Атака расширения длины, ломающая наивное хеширование с ключом, и вложенная конструкция, которую HMAC использует, чтобы её победить.
ЧитатьАутентификация запросов API с помощью HMAC
Как общий секрет и хеш позволяют серверу доверять запросу, отправку которого он не видел, и как сюда вписывается защита от повтора.
ЧитатьБезопасная проверка HMAC: постоянное время и повтор
Почему сравнение подписей через == утекает временной побочный канал и почему одна лишь действительная подпись не останавливает повторённый запрос.
ЧитатьWhy Cryptographic Hashes Are One-Way
A cryptographic hash maps any input to a fixed-size digest and is designed so that recovering the input from the digest is infeasible. That property, preimage resistance, is why you cannot decrypt a hash. The only ways to reverse one are to look it up or to guess-and-check, both of which are search, not inversion.
ЧитатьBrute Force vs Lookup Tables: Two Ways to Reverse a Hash
Since a hash cannot be inverted, reversing one means searching, and there are two families. Precompute a giant table of input-to-hash pairs and look the hash up (what CrackStation does), or generate candidates on the fly and hash each until one matches (brute force). They trade storage for compute in opposite directions.
ЧитатьWhy Salting Defeats Precomputed Tables
A salt is a unique random value stored with each password hash and mixed in before hashing. It makes identical passwords hash differently, which destroys the economics of precomputed tables: an attacker would need a separate table for every salt. Salting is the specific defense that neutralizes lookup services and rainbow tables.
ЧитатьSlow KDFs: bcrypt, scrypt, and Argon2
Salting defeats precomputation but not a targeted guess-and-check attack; a fast hash still lets an attacker try billions of candidates per second. Slow key derivation functions fix that by making each guess deliberately expensive and tunable, cutting an attacker's rate by many orders of magnitude. These are what you should store passwords with.
ЧитатьKeyspace, Entropy, and Crack Time
Whether brute force can reverse a hash comes down to keyspace size versus the attacker's hashing rate. Keyspace grows exponentially with length and alphabet, so a few extra characters move a secret from cracked in seconds to infeasible for millennia. This is the arithmetic behind why length and randomness matter most.
ЧитатьChoosing a Password Hash
Storing passwords safely is a solved problem: use a purpose-built, salted, slow password hash, not a raw digest. This is a short decision guide, from the algorithm to pick to the parameters to set and the mistakes to avoid, aligned with OWASP and NIST guidance.
Читать