RevealTheme logo

Генератор хешей (MD5 / SHA)

Генерирует криптографические хеши: MD5, SHA-1, SHA-256, SHA-384 и SHA-512. Работает в вашем браузере через Web Crypto API.

Что такое криптографические хеши и когда они вам нужны?

Криптографическая хеш-функция — это детерминированный алгоритм, который преобразует любые входные данные (несколько байтов, файл размером в несколько гигабайтов или всю англоязычную Wikipedia) в выходные данные фиксированного размера, называемые «дайджестом» (digest) или «хешем». SHA-256 выдаёт 256 бит (64 шестнадцатеричных символа); SHA-512 выдаёт 512 бит; MD5 выдаёт 128 бит. Четыре свойства определяют «криптографический» хеш в отличие от некриптографического (как CRC32): детерминированность (одни и те же входные данные → один и тот же хеш, всегда), лавинный эффект (изменение одного бита меняет примерно половину битов на выходе), устойчивость к нахождению прообраза (вы не можете обратить хеш, чтобы восстановить входные данные) и устойчивость к коллизиям (вы не можете найти два входа, дающих один и тот же хеш). Когда хеш-функция взламывается, обычно падают именно эти два последних свойства: атаки нахождения коллизий против MD5 (2004) и SHA-1 (2017) сделали их непригодными для целей безопасности, хотя они по-прежнему годятся для неконфликтных проверок целостности, таких как контрольные суммы файлов. Используйте SHA-256 или SHA-512 для любой новой работы, связанной с безопасностью. Этот инструмент использует Web Crypto API браузера (crypto.subtle.digest), аппаратно ускоренный на современных устройствах, и выдаёт результат, побайтово идентичный результату OpenSSL, модуля hashlib в Python и модуля crypto в Node.

Типичные сценарии использования

  • Проверяйте, что скачанный файл соответствует указанному издателем SHA-256 (образы ISO Linux, релизы инструментов безопасности).

  • Генерируйте контентно-адресуемый идентификатор для ключей кэша (хеш содержимого → стабильный URL).

  • Создавайте ключ дедупликации для хранения файлов (совпадающий хеш = идентичный файл).

  • Реализуйте проверку подписи вебхука — HMAC-SHA256 полезной нагрузки с общим секретом.

  • Генерируйте хеши содержимого в стиле Git (SHA-1 для идентификаторов tree/blob).

  • Проверяйте целостность строки базы данных, хешируя ключевые столбцы и сохраняя хеш.

Часто задаваемые вопросы

Почему MD5 устарел для целей безопасности?
Криптографы нашли способы построить два разных входа, дающих один и тот же MD5. Как только коллизии становятся находимыми, MD5 перестаёт быть надёжным сигналом целостности в конфликтных сценариях (кто-то может подменить файл и сгенерировать другой с тем же хешем). Для неконфликтных контрольных сумм (правильно ли скачался файл?) MD5 по-прежнему работает хорошо; он небезопасен только для цифровых подписей или чего-либо, на что может повлиять злоумышленник.
Можно ли обратить хеши?
Не напрямую: криптографические хеши — это односторонние функции. Но: (1) для коротких входов или входов с низкой энтропией (пароли, распространённые фразы) злоумышленник может заранее вычислить хеши каждого вероятного входа (радужные таблицы) и найти ваш. Именно поэтому при хешировании паролей используются случайные уникальные соли. (2) Для входов произвольной длины и высокой энтропии (случайные ключи, содержимое файлов) обращение вычислительно неосуществимо.
В чём разница между SHA-256 и HMAC-SHA256?
SHA-256 — это простой хеш: любой, у кого есть входные данные, может вычислить тот же хеш. HMAC-SHA256 — это хеш с ключом: для его вычисления нужен общий секрет. Вебхуки используют HMAC, потому что проверяющему важно знать «создал ли это кто-то, кто знает секрет?», а не только «совпадает ли полезная нагрузка с известным значением?». Используйте наш Генератор HMAC для варианта с ключом.
Когда мне следует использовать SHA-512 вместо SHA-256?
У SHA-512 больше выходных битов (512 против 256), что делает атаки нахождения коллизий теоретически более сложными. Но SHA-256 уже безопасен за пределами любых разумных сроков (эффективная стойкость к коллизиям 2^128). SHA-512 иногда быстрее на 64-битном оборудовании из-за более широких внутренних операций. Используйте SHA-256 по умолчанию; используйте SHA-512, если у вас есть конкретная причина.
Почему мой хеш SHA отличается от хеша из другого инструмента?
Три вероятные причины: (1) Разная кодировка входных данных: байты, к которым применяется хеш, должны совпадать. UTF-8, UTF-16 или Latin-1 дают разные хеши для одного и того же видимого текста. Этот инструмент кодирует ввод как UTF-8. (2) Завершающий перевод строки: некоторые инструменты добавляют перевод строки, а другие нет. (3) BOM (метка порядка байтов): скрытый трёхбайтовый префикс, который некоторые редакторы добавляют к файлам UTF-8.
Безопасно ли использовать инструмент с конфиденциальными данными?
Да: вычисление хеша происходит локально в вашем браузере через Web Crypto. Входные данные никогда не покидают ваше устройство. Сами хеши не являются «конфиденциальными» в том смысле, что они не раскрывают входные данные (при условии достаточной энтропии), но если вы вычисляете хеш данных с низкой энтропией (например, паролей без соли), учтите, что любой, кто увидит хеш, потенциально может обратить его с помощью радужных таблиц.

Похожие инструменты

Декодировщик JWT

Мгновенно декодирует JSON Web Tokens (JWT). Работает в вашем браузере: токены никогда не покидают ваше устройство, поэтому им безопасно пользоваться с продакшен-секретами.

Форматировщик и валидатор JSON

Форматируйте, проверяйте и минифицируйте JSON онлайн. Работает полностью в вашем браузере: ваши данные никогда не покидают ваше устройство.

Форматировщик XML

Форматирует и делает читаемыми документы XML. Полезно для SOAP, карт сайта, RSS-лент и файлов конфигурации.

Кодировщик и декодировщик Base64

Кодирует строки в Base64 или декодирует Base64 в текст. Уважает вашу конфиденциальность: всё выполняется в вашем браузере.

Кодировщик и декодировщик URL

Преобразует текст в безопасную для URL кодировку (процентное кодирование) и обратно. Полезно для строк запроса, перенаправлений и OAuth-потоков.

Кодировщик и декодировщик HTML-сущностей

Преобразует специальные символы в HTML-сущности (&, < и т. д.) и обратно. Полезно для безопасной вставки текста в HTML.

Подпишитесь на обновления

Мы не продаем ваш адрес электронной почты. Мы не рассылаем спам.

© 2026 RevealTheme. All rights reserved.