Генератор хешей и проверка контрольных сумм

Получайте MD5, SHA-1, SHA-256, SHA-384 и SHA-512 для любого текста или файла сразу, вычисляйте HMAC с секретным ключом и сверяйте файл с опубликованной контрольной суммой.

Работает в браузереБез регистрацииНичего не загружается

Как пользоваться: Генератор хешей

  1. Введите или вставьте текст либо переключитесь на Файл и перетащите файл. Большие файлы читаются частями с индикатором прогресса.
  2. Все пять хешей вычисляются сразу. Выберите вывод в hex строчными, HEX прописными или Base64.
  3. Отметьте HMAC и введите секретный ключ (текстом, hex или Base64), чтобы получить HMAC-SHA256 и остальные варианты HMAC.
  4. Чтобы проверить загрузку, вставьте опубликованную контрольную сумму в Проверить контрольную сумму. Совпавший алгоритм будет подсвечен.

Что такое хеш?

Криптографическая хеш-функция превращает любые входные данные в «отпечаток» фиксированной длины. Одинаковый ввод всегда даёт одинаковый хеш, изменение одного байта даёт совершенно другой, а восстановить ввод по хешу невозможно. Поэтому хеши идеальны для проверки целостности файлов, построения ключей кеша, дедупликации данных и подписи сообщений.

Какой алгоритм выбрать?

АлгоритмРезультатДля чего
MD5128 бит · 32 hexТолько устаревшие контрольные суммы и ключи кеша без требований к безопасности. Коллизии создаются легко.
SHA-1160 бит · 40 hexID объектов Git и старые системы. Стойкость к коллизиям взломана с 2017 года.
SHA-256256 бит · 64 hexВыбор по умолчанию: контрольные суммы загрузок, подписи, блокчейны, подпись API-запросов.
SHA-384 / SHA-512384 / 512 битБольший запас безопасности; на 64-битных CPU SHA-512 часто быстрее SHA-256.

Не используйте ни один из них для хранения паролей. Они спроектированы быстрыми, а это помогает атакующим. Вместо них используйте медленные хеши паролей: Argon2id, scrypt или bcrypt.

Проверка контрольной суммы файла

Разработчики ПО часто публикуют SHA-256 рядом с каждой загрузкой. Перетащите файл сюда, вставьте опубликованное значение, и инструмент скажет, совпадают ли они. Можно вставить строку прямо из файла SHA256SUMS: имя файла после хеша игнорируется. Аналогичные команды:

sha256sum file.iso          # Linux
shasum -a 256 file.iso      # macOS
certutil -hashfile file.iso SHA256   # Windows

Что такое HMAC?

HMAC (RFC 2104) подмешивает в хеш секретный ключ, поэтому создать или проверить значение может только владелец ключа. Вебхуки Stripe, GitHub и Slack подписываются HMAC-SHA256, и JWT с алгоритмом HS256 тоже его используют. Вставьте сырое тело запроса и секрет подписи, чтобы воспроизвести подпись при отладке.

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

Загружаются ли мои файлы для вычисления хеша?
Нет. Текст и файлы хешируются локально через Web Crypto API браузера (и встроенную реализацию MD5). Ничего не покидает ваше устройство.
Почему мой хеш отличается от результата другого инструмента?
Обычно отличается ввод: перевод строки в конце, окончания строк Windows (CRLF вместо LF) или другая кодировка текста. Этот инструмент хеширует текст в UTF-8 ровно так, как он введён, без добавления перевода строки. Учтите, что echo "text" | sha256sum добавляет перевод строки; используйте echo -n.
Можно ли расшифровать хеш?
Нет. Хеширование одностороннее. Сайты, которые «расшифровывают» MD5 или SHA-1, просто ищут значение в таблицах хешей распространённых строк, поэтому короткие или популярные строки небезопасно хешировать без секрета.
SHA-256 и SHA-2 — это одно и то же?
SHA-256 — один из членов семейства SHA-2, в которое также входят SHA-224, SHA-384 и SHA-512. SHA-3 — другая, более новая конструкция.
Файл какого размера можно захешировать?
До 2 ГБ, ограничение — память браузера. Файлы читаются блоками по 4 МБ с индикатором прогресса, поэтому страница не зависает.

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