Генератор хешей

RSS

Введите или вставьте текст, чтобы мгновенно получить его хеши MD5, SHA-1, SHA-256, SHA-384 и SHA-512 и сравнить с ожидаемым хешем.

Работает на 100% в вашем браузере. Ничего из вставленного не загружается на сервер и не сохраняется.

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

  1. Введите или вставьте текст, для которого нужно получить хеш.
  2. Дайджесты MD5, SHA-1, SHA-256, SHA-384 и SHA-512 вычисляются по мере ввода и показываются в шестнадцатеричном виде.
  3. Чтобы проверить значение, вставьте ожидаемый хеш в поле сравнения; инструмент сообщит, совпадает ли он.

Хеши вычисляются в вашем браузере с помощью Web Crypto API и JavaScript; введённые вами данные никогда не загружаются и не сохраняются.

Что такое криптографический хеш?

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

  • Детерминированность: одни и те же входные данные всегда дают один и тот же дайджест.
  • Односторонность: восстановить входные данные по дайджесту практически невозможно.
  • Стойкость к коллизиям: найти два разных входа с одинаковым дайджестом практически невозможно.
  • Чувствительность: изменение одного бита входных данных меняет примерно половину битов результата.
SHA-256("hello")  = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA-256("hello\n")= 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03

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

АлгоритмРазмер дайджестаСтатус
MD5128 битВзломан: коллизии можно быстро создавать на обычном оборудовании. Подходит только для контрольных сумм, не связанных с безопасностью.
SHA-1160 битВзломан в части стойкости к коллизиям: практические коллизии были публично продемонстрированы. Постепенно выводится из использования.
SHA-256256 битНадёжен и является самым распространённым современным выбором.
SHA-384 / SHA-512384 / 512 битНадёжны; SHA-512 может работать быстрее SHA-256 на 64-битных процессорах.

Для всего, что связано с безопасностью (подписи, сертификаты, целостность файлов, скачанных с недоверенных зеркал), используйте SHA-256 или более стойкий алгоритм. MD5 и SHA-1 остаются приемлемыми только для обнаружения случайных повреждений, когда никто не пытается подделать совпадение.

Типичные ошибки

Хеширование — это не шифрование

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

Никогда не храните пароли с помощью обычного быстрого хеша

MD5, SHA-1 и даже SHA-256 создавались быстрыми, и это позволяет злоумышленникам проверять огромное количество вариантов пароля в секунду на GPU. Храните пароли с помощью специальной, намеренно медленной функции хеширования паролей с солью: Argon2id, scrypt или bcrypt. Они добавляют уникальную соль для каждого пароля и настраиваемый параметр трудоёмкости.

# Не делайте так
stored = sha256(password)

# Делайте так (Python, argon2-cffi)
from argon2 import PasswordHasher
stored = PasswordHasher().hash(password)

Невидимые различия во входных данных

Завершающий перевод строки, окончание строки Windows (\r\n) или другая нормализация Unicode дают совершенно другой хеш. Команда echo hello | sha256sum хеширует hello\n; чтобы получить результат, приведённый выше, используйте printf 'hello' или echo -n. Этот инструмент хеширует байты UTF-8 ровно того, что вы ввели.

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

Для скачиваемых программ часто публикуют контрольную сумму SHA-256. Вычислите хеш скачанного файла и сравните его с опубликованным значением:

СистемаКоманда
Linuxsha256sum file.iso
macOSshasum -a 256 file.iso
Windows PowerShellGet-FileHash file.iso -Algorithm SHA256
Windows cmdcertutil -hashfile file.iso SHA256

В Linux команда sha256sum -c SHA256SUMS проверяет все файлы, перечисленные в файле контрольных сумм. Контрольная сумма доказывает, что файл совпадает с тем, который хешировал издатель; подлинность она доказывает, только если сама сумма получена из надёжного источника, например из подписанного файла или со страницы по HTTPS. Сертификат сайта можно проверить с помощью проверки SSL-сертификата.

Совет: шестнадцатеричные дайджесты не зависят от регистра. 2CF24DBA... и 2cf24dba... — это один и тот же хеш. Некоторые инструменты выдают Base64 вместо шестнадцатеричной записи; перед сравнением преобразуйте его с помощью кодирования и декодирования Base64.

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

Можно ли обратить или расшифровать хеш?

Нет. Хеш-функции по замыслу отбрасывают информацию. Короткие или распространённые входные данные можно восстановить перебором и сравнением, но не обращением функции.

Можно ли ещё пользоваться MD5?

Для безопасности — нет. Коллизии создаются тривиально, поэтому MD5 нельзя использовать для подписей, сертификатов или паролей. Он по-прежнему годится для обнаружения случайного повреждения файлов или в качестве ключа кеша.

Какой хеш использовать для паролей?

Ни один из тех, что есть на этой странице. Используйте Argon2id, scrypt или bcrypt через поддерживаемую библиотеку, которая сама позаботится о соли и параметрах трудоёмкости.

Почему мой хеш отличается от хеша другого инструмента?

Обычно потому, что отличаются входные данные: лишний перевод строки или пробел, другая кодировка символов либо хеширование файла вместо его текстового содержимого. Сравнивайте именно те байты, которые хешируются.

Обновлено

Скопировано в буфер обмена