Калькулятор хешей MD5, SHA-1, SHA-256, SHA-512 и CRC32

Вычислите хеш строки или файла алгоритмами MD5, SHA-1, SHA-256, SHA-384, SHA-512 и CRC-32 в шестнадцатеричном виде и Base64. Поддерживаются кодировки UTF-8 и Windows-1251, HMAC с ключом и проверка совпадения с ожидаемой контрольной суммой. Файлы и текст обрабатываются только в вашем браузере и никуда не отправляются.

Что хешировать
Если задан — вычисляется HMAC
Регистр
Вставьте контрольную сумму с сайта, откуда скачан файл

Рекламный блок «после калькулятора» (ads/after-calc.html)

Что такое хеш-функция

Криптографическая хеш-функция превращает данные любого размера в строку фиксированной длины — хеш, или дайджест. Хорошая хеш-функция обладает тремя свойствами:

  • Детерминированность: одни и те же данные всегда дают один и тот же хеш.
  • Лавинный эффект: изменение одного бита входа меняет примерно половину битов хеша.
  • Стойкость: по хешу нельзя восстановить данные и практически невозможно подобрать два разных сообщения с одинаковым хешем (коллизию).

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

АлгоритмДлинаСостояние
MD5128 бит, 32 hex-символаВзломан: коллизии находятся за секунды. Годится только для контроля случайных повреждений.
SHA-1160 бит, 40 символовУстарел: практическая коллизия получена в 2017 году. Встречается в Git и старых системах.
SHA-256256 бит, 64 символаСтойкий, стандарт де-факто: TLS, подписи, биткоин, контрольные суммы дистрибутивов.
SHA-384, SHA-512384 и 512 битСтойкие; на 64-битных процессорах SHA-512 работает быстрее SHA-256.
CRC-3232 бита, 8 символовНе криптографическая: только обнаружение случайных ошибок, подделывается легко.
Рекламный блок «внутри статьи» (ads/in-article.html)

Проверка скачанного файла

Разработчики программ и дистрибутивов публикуют контрольные суммы файлов. Выберите режим «Файл», укажите скачанный файл и вставьте опубликованную сумму в поле сверки. Если хеш совпал, файл скачан без повреждений и не подменён — при условии, что сама сумма получена из надёжного источника.

HMAC

HMAC — код аутентификации сообщения на основе хеш-функции и секретного ключа: HMAC(K, m) = H((K ⊕ opad) ‖ H((K ⊕ ipad) ‖ m)). Получатель, знающий ключ, проверяет, что сообщение не изменено и отправлено владельцем ключа. HMAC используется для подписи запросов к API, в JWT (HS256), в протоколах TLS и IPsec.

Хеши и пароли

Хранить пароли в виде MD5 или SHA-256 без «соли» нельзя: по таблицам готовых хешей распространённые пароли находятся мгновенно, а видеокарта перебирает миллиарды вариантов в секунду. Для паролей применяют специальные медленные функции — bcrypt, scrypt, Argon2, PBKDF2 — с уникальной солью для каждого пользователя.

Кодировка имеет значение

Хеш считается от байтов, а не от букв. Слово «Привет» в UTF-8 занимает 12 байт, а в Windows-1251 — 6, поэтому хеши получатся разными. Также учитываются пробелы и переводы строк: лишний перевод строки в конце текста полностью меняет хеш.

Рекламный блок «внизу страницы» (ads/bottom.html)