Генератор хешей (SHA-256)
Введите или вставьте текст, и за один клик он получит хеши SHA-256, SHA-1, SHA-384 и SHA-512 в шестнадцатеричном виде, в нижнем или верхнем регистре, с кнопкой копирования для каждого. Хеширование использует Web Crypto API вашего браузера для байтов текста в UTF-8, поэтому ничего не загружается. Бесплатно, без регистрации. Хешируется только текст, не файлы.
Как пользоваться генератором хешей
- 1. Введите текст. Любой текст, который поместится в текстовое поле вашего браузера.
- 2. Нажмите «Сгенерировать хеши». Все четыре дайджеста появляются сразу, SHA-256 выделен как рекомендуемый.
- 3. Выберите регистр. Шестнадцатеричный верхний регистр переключает каждый дайджест между нижним регистром (обычное соглашение) и верхним; байты при этом одни и те же.
- 4. Скопируйте нужный дайджест кнопкой рядом с ним.
Четыре алгоритма
SHA-1, SHA-256, SHA-384 и SHA-512 описаны в стандарте безопасного хеширования США FIPS 180-4. Каждый превращает любой ввод в дайджест фиксированного размера. Размер — единственное видимое различие в результатах:
| Алгоритм | Размер дайджеста | Символов hex | Статус |
|---|---|---|---|
| SHA-1 | 160 бит | 40 | Скомпрометирован для безопасности: первая практическая коллизия опубликована в 2017 году, а NIST предлагает отказаться от него к 2030 году. Только для устаревших контрольных сумм. |
| SHA-256 | 256 бит | 64 | Стандартный выбор для проверки целостности и подписей |
| SHA-384 | 384 бита | 96 | Семейство SHA-2; усечённый SHA-512 |
| SHA-512 | 512 бит | 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.