SHA-256 онлайн (расчёт хеша)

Введите текст или выберите файл, чтобы сразу получить значение SHA-256; доступны также SHA-1, SHA-384 и SHA-512. Вставьте хеш, который дал издатель, — он сверится автоматически, и вы будете знать, что файл не изменялся. Все вычисления выполняются локально в браузере, данные никуда не отправляются.
Ввод текста
Загрузка файла
Перетащите файл сюда или нажмите, чтобы выбрать

Любые типы файлов, до 50 МБ

Алгоритм
Сверка суммы
Примечания:
1. Используйте либо ввод текста, либо загрузку файла — если указано и то и другое, приоритет у файла.
2. Если поле текста пустое, в качестве ввода берётся текущая метка времени.
3. Размер файла ограничен 50 МБ; при превышении выводится ошибка.
4. В поле сверки можно вставить целую строку из sha256sum — хеш, пробелы, имя файла — и из неё будет взят только сам хеш.
5. SHA — односторонний алгоритм хеширования (в обиходе его называют «шифрованием»), расшифровать его нельзя.

Что выбрать: SHA-256 или MD5

Является ли SHA «шифрованием»?

Строго говоря, нет — ровно как и MD5. Шифрование обратимо: имея ключ, можно восстановить исходный текст. А SHA — этоодносторонняя хеш-функция, которая сжимает вход любой длины в дайджест фиксированной длины. По дороге информация теряется, поэтому шага «вернуть обратно» здесь нет. Выражение «шифрование SHA256» употребляют повсеместно, эта страница следует привычке — на деле речь идёт о вычислении значения SHA-256. А значит, не существует и «расшифровки SHA256»: такие сайты выполняют поиск по радужным таблицам, и подробнее это разобрано на другой странице: MD5 онлайн .

Почему пора уходить с MD5 и SHA-1

Дело не в том, что «больше бит — значит безопаснее», а в том, что первые два уже взломаны на практике. Построить два файла с разным содержимым и одинаковым MD5 обычный компьютер успевает за считаные секунды. Для SHA-1 настоящую коллизию в 2017 году показал проект Google SHAttered, а к 2020-му коллизии с выбранным префиксом снизили стоимость атаки до нескольких десятков тысяч долларов. Это значит, что кто-то может подготовить пару файлов с разным содержимым и одинаковыми хешами: проверка у вас пройдёт, а получите вы второй файл. У SHA-256 практических коллизий не известно, и именно его обычно применяют сертификаты TLS, свежие версии Git и контрольные суммы при выпуске программ.

Но пароли на голом SHA-256 не хранят

Это самое частое неправильное применение. SHA-256 спроектирован так, чтобы бытьбыстрым: современная видеокарта считает его миллиарды раз в секунду — ровно то, что нужно злоумышленнику, перебирающему вашу базу. Пароли пользователей храните медленным хешем вроде bcrypt, scrypt или Argon2: они солят автоматически (своя случайная соль на каждого пользователя, что обесценивает радужные таблицы и подстановку учётных данных) и позволяют повышать вычислительную стоимость по мере того, как железо становится быстрее. Соль, добавленная к SHA-256 вручную, спасает от радужных таблиц, но не спасает от перебора против одной конкретной учётной записи.

SHA-256, SHA-384 или SHA-512?

Все три относятся к семейству SHA-2 и различаются размером внутреннего слова и длиной результата. SHA-256 работает с 32-битными словами, обладает самой широкой совместимостью и почти везде является разумным выбором по умолчанию. SHA-512 работает с 64-битными словами, на 64-разрядном процессоре нередко оказывается быстрее и даёт более длинный результат. SHA-384 — это SHA-512, усечённый до 384 бит; он встречается в части сертификатов и наборов шифров TLS. Если особых требований нет, берите SHA-256 — то значение, с которым вы сверяетесь, скорее всего, тоже он.

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

Можно ли расшифровать SHA-256?

Нет — он необратим по своему устройству. Сайты, обещающие «расшифровку SHA256», выполняют поиск по радужным таблицам: заранее считают хеши для огромного числа распространённых строк, складывают их в базу, а затем проверяют, есть ли там присланный вами хеш. Совпадение означает лишь то, что ваш исходный текст был распространённой строкой. Длинную случайную парольную фразу или посоленный пароль такой сайт не найдёт никогда.

Что использовать — SHA-256 или MD5?

Во всём, что связано с безопасностью, — всегда SHA-256. Для MD5 и SHA-1 коллизии получены на практике, поэтому ни для защиты от подмены, ни для подписи они больше не годятся. Берите MD5 только тогда, когда его прямо требует другая сторона, — например, когда старая система публикует контрольные суммы именно в MD5. Посчитать его поможет соседний инструмент:MD5 онлайн на этом сайте: на той странице разобрано, как на самом деле работают сайты «расшифровки MD5».

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

Ни для каких задач безопасности. Настоящая коллизия для него была показана ещё в 2017 году, а браузеры и удостоверяющие центры отказались от него давным-давно. SHA-1 оставлен здесь потому, что немало старых систем, репозиториев и документов до сих пор публикуют контрольные суммы именно в нём и вам нужно чем-то посчитать значение для сверки, — а вовсе не потому, что он всё ещё безопасен.

Как проверить, что скачанный файл не подменили?

Перетащите файл в поле выбора выше, вставьте в поле «Сверка суммы» хеш, который дал издатель, и нажмите расчёт. Совпадение показывается зелёным, расхождение — красным. Если длина вставленного хеша не подходит выбранному алгоритму, страница подскажет, какому он, вероятно, принадлежит: издатель дал SHA-1, а выбран SHA-256 — безусловный чемпион среди ложных расхождений.

Другой сайт выдаёт другое значение — кто из вас ошибся?

Скорее всего, никто: различается вход. Три обычные причины — лишний перевод строки в конце текста; концы строк в виде \r\n вместо \n(«Блокнот» в Windows и Linux расходятся во мнениях); и не-ASCII символы, закодированные не в UTF-8. Эта страница кодирует текст в UTF-8 и ничего в конец не дописывает. Надёжнее всего исключить всё перечисленное, посчитав хеш самого файла, а не вставленного текста.

Почему размер файла ограничен 50 МБ?

Интерфейс WebCrypto в браузере умеет считать дайджест только для одного непрерывного блока данных — потокового варианта он не предлагает, поэтому файл приходится целиком читать в память. 50 МБ — тот потолок, на котором не захлебнётся и телефон. Для файлов покрупнее возьмите утилиту командной строки, которая уже есть в вашей системе: в Windows — certutil -hashfile ИМЯ_ФАЙЛА SHA256, в macOS и Linux — shasum -a 256 ИМЯ_ФАЙЛА.

Есть ли разница между хешем в верхнем и нижнем регистре?

Нет — это две записи одной и той же шестнадцатеричной строки, и при сравнении регистр не учитывается. Страница по умолчанию выводит строчные буквы; так же ведут себя и sha256sum, shasum . Поставьте флажок, чтобы переключиться на прописные. При сверке разница в регистре игнорируется автоматически, приводить что-либо к одному виду вручную не нужно.

Загружается ли мой файл на сервер?

Нет. Расчёт выполняет встроенный в браузер интерфейс WebCrypto: файл читается в память, хешируется и сразу показывается, и ни один байт не покидает ваше устройство. Отключите сеть после загрузки страницы — инструмент продолжит работать; это самый прямой способ убедиться. Подробности здесь:Политика конфиденциальности.