Инструменты
Руководства

Калькулятор хэшей

Крипто

Вычисление SHA-1/256/384/512 через Web Crypto и MD5. Вывод в Hex или Base64.

100 % на клиенте Без бэкенда
Ввод
Вывод
Введите текст для вычисления хэша.
На этой странице

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

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

Страница вычисляет пять алгоритмов: семейство SHA-2 (SHA-256, SHA-384, SHA-512), SHA-1 и MD5. Четыре варианта SHA идут через встроенный в браузер движок Web Crypto (crypto.subtle.digest) — тот же примитив, что использует продакшен-код, а не JavaScript-реализацию. MD5 не входит в Web Crypto, поэтому подгружается по требованию — только когда вы его действительно выберете, и не утяжеляет начальную загрузку страницы.

Хеш — не шифрование. Он необратим: восстановить вход по дайджесту невозможно. Если двум сторонам нужно обменяться ключевым дайджестом, используйте HMAC; если нужно обратить операцию — симметричное шифрование.

Как пользоваться#

  1. Вставьте входные данные в левую панель. Любой текст — строку, JSON-блоб, фрагмент конфига. Перед хешированием байты кодируются как UTF-8.
  2. Выберите алгоритм:
    • SHA-256 — современный стандарт по умолчанию; 256-битный дайджест, применяется повсюду: от TLS и Git до блокчейна.
    • SHA-384 / SHA-512 — более длинные дайджесты того же семейства; выбирайте, когда того требует спецификация.
    • SHA-1 — 160 бит; устаревший, подходит для контрольных сумм, но сломан как устойчивая к коллизиям подпись.
    • MD5 — 128 бит; быстрый и вездесущий, но криптографически взломан. Пригоден для небезопасных контрольных сумм и устаревших ключей кеша.
  3. Выберите формат вывода: Hex (нижний регистр, распространённое соглашение для дайджестов) или Base64 (компактнее, привычен в токенах).
  4. Нажмите Пример, чтобы загрузить каноническую тестовую строку, или Очистить, чтобы начать заново. Дайджест обновляется вживую в правой панели; Копировать забирает его.

Ключевые возможности#

  • Нативный Web Crypto. SHA-1/256/384/512 вычисляются через crypto.subtle.digest — проверенную реализацию браузера, а не стороннюю библиотеку.
  • Отложенная загрузка MD5. Реализация MD5 запрашивается только при выборе, поэтому она никогда не отягощает первый рендер.
  • Hex или Base64. Переключение одним кликом без повторного ввода.
  • Живая строка состояния. Подтверждает алгоритм и длину дайджеста в байтах, поэтому обрезанный или сдвинутый на единицу результат сразу бросается в глаза.
  • Без отправки данных. Хеширование полностью происходит в вашем браузере; вход никогда не достигает сервера.

Разбор примера#

Каноническая эталонная строка — The quick brown fox jumps over the lazy dog. При алгоритме SHA-256 и выводе в Hex дайджест равен:

d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

Та же строка под SHA-1 (Hex):

2fd4e1c67a2d28fced849ee1bb76e7391b93eb12

Полезный граничный случай — пустая строка. Хеширование «ничего» всё равно даёт вполне определённый непустой дайджест: для SHA-256 это e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, а для MD5 — d41d8cd98f00b204e9800998ecf8427e. Эти векторы с пустым входом — заодно и то, как собственный набор тестов этого инструмента проверяет корректность: если ваш результат отличается, страницу подменили.

FAQ#

SHA-256 или MD5 — что выбрать?#

SHA-256 для всего, что касается безопасности: схемы соления паролей, подписанные URL, доказательства целостности, идентификаторы содержимого, устойчивые к атакам на коллизии. MD5 допустим только для «не враждебных» контрольных сумм (быстрая проверка «изменился ли файл?», ключ кеша), где никто не пытается подделать коллизию. Если сомневаетесь — берите SHA-256.

Почему один и тот же вход всегда даёт один и тот же дайджест?#

Хеширование детерминировано — на этом уровне никакой случайной соли нет (в отличие от bcrypt). Эта детерминированность и есть весь смысл адресации по содержимому: одни и те же байты обязаны всегда давать один и тот же отпечаток. Обратная сторона — два человека, хеширующих один и тот же секрет, получат одинаковый дайджест, поэтому хранить пароли обычным хешем ужасно.

Можно ли восстановить оригинал из хеша?#

Нет. Криптографический хеш по построению — односторонняя функция; ключа нет, обратной операции нет. «Расшифровать SHA-256» — категориальная ошибка. Единственная атака — перебор (подбор входов, пока один не совпадёт), и именно это делает слабые пароли опасными даже без соли.

Почему мой MD5 отличается от того, что в другом инструменте?#

Почти всегда — рассогласование в представлении байтов: завершающий перевод строки, разные концы строк (CRLF против LF) или другой инструмент хеширует UTF-16, тогда как эта страница использует UTF-8. Сравнивайте сырые байты, а не текст на экране.