Генератор хешей
Все алгоритмы для текущего текста
| Алгоритм | Хеш | Действия |
|---|
Hash Generator — полное руководство по хеш-функциям и криптографическим алгоритмам
Что такое хеширование и зачем оно нужно?
Хеширование — это математический процесс преобразования входных данных произвольной длины (текст, файл, сообщение) в строку фиксированной длины, называемую хешем или хеш-суммой. Хеш-функции являются односторонними: по хешу невозможно восстановить исходные данные, но можно проверить, совпадают ли два набора данных.
Функции нашего генератора хешей
Наш инструмент поддерживает 12 криптографических и некриптографических алгоритмов хеширования. Все вычисления выполняются локально в вашем браузере — данные не отправляются на сервер.
Генерация хеша
Вычисление хеш-суммы для любого текста с выбором алгоритма и формата вывода.
- 12 алгоритмов — MD2, MD4, MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, BLAKE2b, RIPEMD-160, CRC32
- 2 формата — Hexadecimal (16-ричный) и Base64
- Мгновенный результат — хеш вычисляется в реальном времени
- Длина хеша — отображается количество символов в результате
Проверка хеша
Верификация соответствия хеша исходным данным. Критично важно для проверки целостности файлов.
- Сравнение — вычисляет хеш и сравнивает с указанным
- Без учёта регистра — «A1B2» и «a1b2» считаются одинаковыми
- Визуальная индикация — зелёный (совпадает) / красный (не совпадает)
- Для любого алгоритма — проверка работает со всеми поддерживаемыми алгоритмами
Полное описание алгоритмов хеширования
Каждый алгоритм имеет свои характеристики безопасности, производительности и области применения. Ниже приведено подробное описание всех 12 алгоритмов, поддерживаемых нашим инструментом.
MD семейство (устаревшие, небезопасные)
Разработан Роном Ривестом в 1989 году для 8-битных систем. Самый старый из семейства MD.
- ❌ Взломан: коллизии находятся за секунды
- 📜 Историческое значение: использовался в ранних SSL-сертификатах
- ⚠️ Не используйте: только для совместимости со старыми системами
Улучшенная версия MD2, оптимизированная для 32-битных процессоров.
- ❌ Полностью взломан: коллизии находятся мгновенно
- 📜 Влияние: стал основой для MD5, SHA-1, RIPEMD
- ⚠️ Не используйте: только академический интерес
Самый известный из семейства MD. Долгое время был стандартом де-факто.
- ❌ Взломан: коллизии находятся за минуты на обычном ПК
- ✅ Допустимо: контрольные суммы файлов (не для безопасности!)
- ⚠️ Нельзя: хранение паролей, цифровые подписи, SSL-сертификаты
- 📊 Производительность: очень быстрый, но это же и слабость
Устаревшие алгоритмы (не рекомендуются для безопасности)
Разработан NSA как замена MD5. Долгое время был промышленным стандартом.
- ⚠️ Взломан: первая практическая коллизия продемонстрирована в 2017 (проект SHAttered)
- 📜 Исторически: Git, SVN, SSL-сертификаты (до 2017)
- ✅ Допустимо: Git (для идентификации, не для безопасности)
- ❌ Нельзя: новые SSL-сертификаты, цифровые подписи
Европейская альтернатива SHA-1, разработанная в рамках проекта RIPE.
- ⚠️ Безопасность: коллизий пока не найдено, но алгоритм старый
- ₿ Bitcoin: используется в генерации Bitcoin-адресов (вместе с SHA-256)
- ✅ Допустимо: криптовалюты, специфические криптографические протоколы
- ⚠️ Не рекомендуется: для новых проектов без специфических требований
Современные безопасные алгоритмы (рекомендуются)
Часть семейства SHA-2, разработанного NSA. Текущий промышленный стандарт.
- ✅ Безопасен: коллизий не найдено, рекомендуется NIST
- ₿ Bitcoin: основной алгоритм майнинга и адресов
- 🔐 Применение: SSL-сертификаты, цифровые подписи, хранение паролей (с солью), блокчейн
- ⚡ Производительность: быстрый на современном оборудовании
- 🏆 Рекомендация: используйте по умолчанию для новых проектов
Усечённая версия SHA-512. Часть семейства SHA-2.
- ✅ Безопасен: даже выше запас прочности, чем SHA-256
- 🔐 Применение: системы с повышенными требованиями к безопасности
- ⚡ Производительность: чуть медленнее SHA-256 на 32-битных системах
- 📊 Размер: больше хеш, но всё ещё приемлемо для большинства задач
Самый мощный из семейства SHA-2. Максимальная защита.
- ✅ Максимальная безопасность: запас на десятилетия вперёд
- 🔐 Применение: долгосрочное архивирование, критические системы
- ⚡ Производительность: быстрее SHA-256 на 64-битных системах
- 💾 Размер: 128 символов — может быть избыточно для некоторых задач
Новейший стандарт NIST, основанный на алгоритме Keccak. Альтернатива SHA-2.
- ✅ Безопасен: принципиально другая конструкция, чем SHA-2
- 🔐 Применение: системы, требующие диверсификации рисков
- 🛡️ Преимущество: если SHA-2 будет взломан, SHA-3 останется безопасным
- ⚡ Производительность: медленнее SHA-2 в программных реализациях
512-битная версия SHA-3. Максимальная защита нового поколения.
- ✅ Максимальная безопасность: современный стандарт
- 🔐 Применение: долгосрочное хранение, постквантовая криптография
- 🛡️ Преимущество: устойчивость к атакам, которые могут затронуть SHA-2
- 💾 Размер: самый большой хеш среди рекомендуемых
Современный алгоритм, быстрее MD5 и SHA-1 при той же безопасности SHA-3.
- ✅ Безопасен: никаких известных уязвимостей
- ⚡ Производительность: быстрее всех перечисленных алгоритмов
- 🏆 Применение: высоконагруженные системы, проверка целостности в реальном времени
- 💚 Open Source: свободен от патентов, используется в Argon2 (хешер паролей)
Некриптографический алгоритм
Циклический избыточный код. НЕ является криптографической хеш-функцией!
- ❌ Небезопасен: коллизии находятся тривиально, не для защиты
- ✅ Применение: контроль целостности данных (архивы ZIP, PNG, сети Ethernet)
- ⚡ Производительность: экстремально быстрый, аппаратная поддержка в CPU
- 📊 Размер: всего 8 символов — компактно, но высокая вероятность коллизий
Сравнительная таблица алгоритмов
| Алгоритм | Год | Длина (бит) | Длина (hex) | Безопасность | Скорость | Рекомендация |
|---|---|---|---|---|---|---|
| MD2 | 1989 | 128 | 32 | ❌ Взломан | Медленно | Не использовать |
| MD4 | 1990 | 128 | 32 | ❌ Взломан | Быстро | Не использовать |
| MD5 | 1991 | 128 | 32 | ❌ Взломан | Очень быстро | Только checksum |
| SHA-1 | 1995 | 160 | 40 | ⚠️ Взломан | Быстро | Git (исторически) |
| RIPEMD-160 | 1996 | 160 | 40 | ⚠️ Устаревает | Средне | Bitcoin |
| SHA-256 | 2001 | 256 | 64 | ✅ Безопасен | Быстро | ⭐ Рекомендован |
| SHA-384 | 2001 | 384 | 96 | ✅ Безопасен | Средне | Высокая безопасность |
| SHA-512 | 2001 | 512 | 128 | ✅ Безопасен | Быстро (64-bit) | Максимальная защита |
| SHA3-256 | 2015 | 256 | 64 | ✅ Безопасен | Средне | Альтернатива SHA-2 |
| SHA3-512 | 2015 | 512 | 128 | ✅ Безопасен | Медленно | Постквантовая защита |
| BLAKE2b | 2012 | 512 | 128 | ✅ Безопасен | Очень быстро | ⭐ Высокая производительность |
| CRC32 | 1975 | 32 | 8 | ❌ Не крипто | Экстремально | Checksum файлов |
Область применения хеш-функций
Хеш-функции — фундаментальный строительный блок современной криптографии и информационных систем. Ниже приведены основные сценарии использования с реальными примерами.
Проверка целостности файлов
При загрузке файлов из интернета (особенно образов дисков, установщиков) сравнивайте хеш с официальным значением от разработчика.
ubuntu-22.04.iso: SHA256 = a1b2c3d4...Если хеши совпадают — файл не повреждён и не изменён.
Хранение паролей
Пароли никогда не хранятся в открытом виде. Вместо этого хранится хеш пароля с «солью» (случайной строкой).
Блокчейн и криптовалюты
Bitcoin использует SHA-256 для майнинга (Proof of Work) и генерации адресов. Каждый блок содержит хеш предыдущего блока.
SHA256 + RIPEMD160(public_key)
Git и системы контроля версий
Git использует SHA-1 для идентификации коммитов, деревьев и файлов. Каждый объект имеет уникальный хеш.
a1b2c3d4e5f6789012345678901234567890abcd
Цифровые подписи
При цифровой подписи подписывается не сам документ, а его хеш. Это быстрее и безопаснее.
Подпись = Encrypt(Hash(документ), private_key)
DNSSEC
DNSSEC использует хеш-функции для подписи DNS-записей, защищая от подмены доменных имён.
DS, DNSKEY, RRSIG используют SHA-256
Историческая справка: эволюция хеш-функций
История криптографических хеш-функций отражает гонку вооружений между криптографами и взломщиками. Каждый новый алгоритм создавался как ответ на уязвимости предыдущего.
Ключевые вехи в развитии хеш-функций
- 1975 — CRC (Cyclic Redundancy Check). Не криптографический, но заложил основы контроля целостности данных.
- 1989-1991 — Семейство MD (Message Digest) от Рона Ривеста (RSA Security). MD2, MD4, MD5. Революция в криптографии, но все взломаны к 2004 году.
- 1993-1995 — SHA (Secure Hash Algorithm) от NSA. SHA-0 быстро заменён на SHA-1 из-за уязвимости.
- 1996 — RIPEMD-160 от европейского консорциума RIPE. Альтернатива SHA-1.
- 2001 — SHA-2 (SHA-256, SHA-384, SHA-512). NIST стандартизировал как замену SHA-1. Используется до сих пор.
- 2004-2005 — Китайский криптограф王小云 демонстрирует практические коллизии для MD5 и SHA-1. Криптографическое сообщество в шоке.
- 2007 — NIST объявляет конкурс на новый стандарт SHA-3.
- 2012 — BLAKE2 представлен как сверхбыстрая альтернатива MD5 и SHA-1 с безопасностью уровня SHA-3.
- 2015 — Keccak выбран как SHA-3. Новый стандарт NIST.
- 2017 — Проект SHAttered демонстрирует первую практическую коллизию SHA-1. Конец эпохи SHA-1.
Исследования и криптоанализ
Криптографические хеш-функции проходят десятилетия академического анализа прежде чем получить доверие сообщества. Ниже приведены ключевые исследования и стандартизирующие документы.
- RFC 1319 — MD2 (1992)
- RFC 1320 — MD4 (1992)
- RFC 1321 — MD5 (1992)
- FIPS 180-4 — SHA-2 (NIST)
- FIPS 202 — SHA-3 (NIST, 2015)
- Wang et al. (2004) — «Collisions for MD5»
- Wang et al. (2005) — «Finding Collisions in SHA-1»
- Stevens et al. (2017) — «SHAttered: First SHA-1 Collision»
- Bertoni et al. (2013) — «Keccak and the SHA-3 Standard»
Важное замечание о безопасности
- НЕ используйте MD5/SHA-1 для паролей! Эти алгоритмы слишком быстрые, что позволяет злоумышленникам перебирать миллиарды паролей в секунду. Используйте bcrypt, Argon2 или scrypt.
- Всегда добавляйте «соль» (случайную строку) к паролю перед хешированием. Это защищает от rainbow table атак.
- НЕ используйте CRC32 для безопасности! Это контрольная сумма, а не криптографический хеш. Коллизии находятся тривиально.
- Проверяйте хеши файлов только из официальных источников. Злоумышленник может подменить и файл, и хеш на сайте.
- SHA-256 — безопасный выбор по умолчанию для новых проектов в 2024 году.
Практические рекомендации
| Задача | Алгоритм |
|---|---|
| Пароли | Argon2, bcrypt |
| SSL-сертификаты | SHA-256, SHA-384 |
| Блокчейн | SHA-256 |
| Проверка файлов | SHA-256, BLAKE2b |
| Git | SHA-1 (исторически) |
| Архивы (CRC) | CRC32 |
-
li>Для проверки загрузки файлов сверяйте хеш с официальным сайтом разработчика
- Hex формат (64 символа) удобнее для чтения, Base64 — компактнее
- SHA-256 обеспечивает безопасность на 128 бит (половина длины хеша)
- BLAKE2b быстрее MD5 при большей безопасности — используйте для производительности
- Для долгосрочного архивирования рассмотрите SHA-512 или SHA3-512