Генератор хешей MD5, SHA-1, SHA-256 онлайн

MD5 и SHA-хеши текста и файлов, со сравнением с ожидаемым значением.

Источник
Алгоритмы
Вывод

Отметьте хотя бы один алгоритм.

Сравнить с ожидаемым хешем

Файлы обрабатываются прямо в браузере и никуда не загружаются.

Что такое хеш

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

Какие алгоритмы доступны

MD5 (128 бит, реализован прямо в этом инструменте — браузер не умеет его считать сам) и SHA-1 (160 бит) — старые алгоритмы, оставшиеся в основном для проверки контрольных сумм в легаси-системах. SHA-256, SHA-384 и SHA-512 — современное семейство SHA-2, которое браузер считает через встроенный SubtleCrypto: они устойчивее к подбору коллизий и используются в криптографии, блокчейнах и TLS-сертификатах.

Текст и файлы

Переключатель «Источник» задаёт, что хешировать — введённый текст или файл целиком; можно отметить сразу несколько алгоритмов, и таблица результатов посчитает их параллельно. Вывод — в hex (шестнадцатеричная запись, стандарт для большинства утилит) или Base64 (короче, но менее привычна на вид).

Пример

Хеш строки «Привет, мир!»

SHA-256 даёт 9a0af011…89313e5f (64 hex-символа) — воспроизводимое, но необратимое значение: замените запятую на точку — и результат станет совсем другим набором символов.

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

Частые вопросы

Зачем сравнивать хеш файла с ожидаемым значением?
Так проверяют, что файл скачался целиком и не был подменён: издатель публикует хеш рядом со ссылкой на файл (например, ISO-образ Linux), а вы после скачивания сверяете его с посчитанным здесь. Любое отличие хотя бы в одном байте меняет весь хеш.
Можно ли восстановить исходные данные из хеша?
Нет — хеш-функция необратима: миллионы разных файлов сжимаются в одну и ту же короткую строку фиксированной длины, и по ней нельзя вычислить исходные байты. Это и есть смысл хеширования, в отличие от кодирования вроде Base64.
Почему MD5 и SHA-1 считаются небезопасными?
Для них найдены практичные способы подобрать два разных файла с одинаковым хешем (коллизии), поэтому для подписей и паролей они не годятся. Для проверки целостности случайно повреждённого файла (не защиты от подделки) они всё ещё пригодны.
Какой хеш выбрать для нового проекта?
SHA-256 — стандартный выбор: он быстрый, широко поддерживается и не имеет известных практических уязвимостей. SHA-384 и SHA-512 дают более длинный хеш и чуть выше запас прочности, если это важно.

Обновлено