Перейти к содержимому

Генератор хешей (SHA-256)

Введите или вставьте текст, и за один клик он получит хеши SHA-256, SHA-1, SHA-384 и SHA-512 в шестнадцатеричном виде, в нижнем или верхнем регистре, с кнопкой копирования для каждого. Хеширование использует Web Crypto API вашего браузера для байтов текста в UTF-8, поэтому ничего не загружается. Бесплатно, без регистрации. Хешируется только текст, не файлы.

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

  1. 1. Введите текст. Любой текст, который поместится в текстовое поле вашего браузера.
  2. 2. Нажмите «Сгенерировать хеши». Все четыре дайджеста появляются сразу, SHA-256 выделен как рекомендуемый.
  3. 3. Выберите регистр. Шестнадцатеричный верхний регистр переключает каждый дайджест между нижним регистром (обычное соглашение) и верхним; байты при этом одни и те же.
  4. 4. Скопируйте нужный дайджест кнопкой рядом с ним.

Четыре алгоритма

SHA-1, SHA-256, SHA-384 и SHA-512 описаны в стандарте безопасного хеширования США FIPS 180-4. Каждый превращает любой ввод в дайджест фиксированного размера. Размер — единственное видимое различие в результатах:

АлгоритмРазмер дайджестаСимволов hexСтатус
SHA-1160 бит40Скомпрометирован для безопасности: первая практическая коллизия опубликована в 2017 году, а NIST предлагает отказаться от него к 2030 году. Только для устаревших контрольных сумм.
SHA-256256 бит64Стандартный выбор для проверки целостности и подписей
SHA-384384 бита96Семейство SHA-2; усечённый SHA-512
SHA-512512 бит128Семейство SHA-2; часто быстрее SHA-256 на 64-битных процессорах

Криптографический хеш — это односторонний отпечаток. Один и тот же ввод всегда даёт один и тот же дайджест, малое изменение даёт совершенно другой, а текст нельзя восстановить по дайджесту. MD5 не предлагается, потому что Web Crypto API его не реализует.

Пример

Текст

abc

SHA-256

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

SHA-1

a9993e364706816aba3e25717850c26c9cd0d89d

Эти два дайджеста — опубликованные тестовые векторы из примеров стандарта, так что инструмент можно проверить по надёжному источнику. Теперь посмотрите, что меняет одна буква. Замена «dog» на «cog» в The quick brown fox jumps over the lazy dog:

…dog

d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

…cog

e4c4d8f3bf76b692de791a173e05321150f7a345b46484fe427f6acc7ecc81be

У этих дайджестов SHA-256 нет ничего узнаваемого общего: 123 из 256 бит различаются, что близко к половине, как и ожидается для несвязанных значений. Это лавинный эффект, и именно поэтому хеш может показать, что файл или сообщение изменились, не раскрывая, что именно.

Почему ваш хеш может не совпадать

  • Завершающий перенос строки. abc и abc с переводом строки — это разные входы: SHA-256 от abc с переносом начинается с edeaaff3, а не с ba7816bf. Команда echo abc | sha256sum тоже хеширует перенос строки; используйте printf или echo -n, чтобы его не было.
  • Регистр и пробелы. Abc хешируется иначе, чем abc, как и пробел в начале или в конце.
  • Кодировка. Инструмент хеширует байты текста в UTF-8. Текст, хешированный как UTF-16 или Latin-1 в другом месте, даёт другой дайджест для любого символа, отличного от ASCII.
  • Окончания строк. Текст, скопированный из файла Windows, может содержать возвраты каретки, которые текстовое поле нормализует.

Чем этот инструмент не является

  • Файлы. Инструмент хеширует только текст. Для файла используйте shasum -a 256 file в macOS или Linux либо certutil -hashfile file SHA256 в Windows.
  • Пароли. SHA-256 создан быстрым, а это помогает злоумышленнику подбирать пароли. Храните пароли медленной солёной функцией хеширования паролей, например Argon2id, scrypt или bcrypt.
  • Ключевые хеши. Опции HMAC или соли здесь нет.

Какой инструмент вам нужен?

Для шестнадцатеричного представления самого текста, а не его дайджеста, используйте Конвертер Hex. Для случайного идентификатора — Генератор UUID, для случайного секрета — Генератор паролей.

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

Мой текст загружается на сервер?
Нет. Каждый дайджест вычисляется в вашем браузере через Web Crypto API (crypto.subtle.digest). Ваш текст никуда не отправляется, и инструмент продолжит работать, если вы выйдете в офлайн после загрузки страницы.
Что такое криптографический хеш?
Функция, которая превращает ввод любой длины в дайджест фиксированной длины. Она детерминирована, односторонняя и чувствительна к каждому биту ввода. Хеши используются для проверки целостности файлов, в цифровых подписях и в идентификаторах коммитов, среди прочего.
Какой алгоритм хеширования выбрать?
SHA-256 почти во всех случаях. SHA-384 и SHA-512 дают более длинные дайджесты из того же семейства. SHA-1 используйте, только когда этого требует старая система, и никогда для безопасности.
Безопасен ли SHA-1?
Не для безопасности. Атака SHAttered 2017 года создала два разных PDF-файла с одинаковым дайджестом SHA-1, а NIST предлагает отказаться от него к концу 2030 года. Он допустим для контрольных сумм, где злоумышленник не угрожает.
Почему нет варианта MD5?
Web Crypto API не реализует MD5, а инструмент использует только то, что предоставляет браузер. MD5 уже много лет непригоден для безопасности.
Могу ли я хешировать файл этим инструментом?
Нет, он принимает только текст. Для файлов используйте командную строку вашей операционной системы, как описано выше.
Почему мой SHA-256 отличается от результата другого сайта?
Почти всегда ввод отличается невидимым символом, например завершающим переносом строки или пробелом, либо другой кодировкой текста. Проверьте точные байты с помощью Конвертера Hex.

Похожие инструменты

Ещё в разделе «Данные, разметка и код»