Генератор SHA-256 хешей и контрольных сумм
Получайте SHA-256 хеши онлайн бесплатно. Хеширование текста или файлов в браузере, проверка контрольных сумм, 64-символьный hex-вывод. Без регистрации; данные не покидают страницу.
Что такое SHA-256?
SHA-256 (Secure Hash Algorithm, 256 бит) — наиболее широко развёрнутая криптографическая хеш-функция семейства SHA-2, разработанная АНБ США и опубликованная NIST в 2001 году в составе FIPS 180-2. Принимает любой ввод — текст, файл или поток байтов — и выдаёт фиксированный 256-битный (64 шестнадцатеричных символа) отпечаток, однозначно идентифицирующий ввод с криптографической степенью достоверности.
SHA-256 устоял перед всеми атаками на коллизии с момента публикации. Спецификация NIST FIPS 180-4 остаётся актуальной; он одобрен для использования федеральным правительством США, PCI DSS, FIPS 140-3 и интернет-стандартами IETF. SHA-256 лежит в основе TLS-сертификатов (отпечаток, который браузеры показывают в диалогах сертификатов), современного формата идентификаторов объектов Git (с Git 2.29 в режиме SHA-256), идентификаторов транзакций Bitcoin и доказательства работы, верификации JWT подписей (семейство JWS HS256, RS256, ES256) и столбца integrity каждого крупного менеджера пакетов (npm, pip, cargo, apt).
Данный инструмент вычисляет SHA-256 полностью в браузере через crypto.subtle.digest('SHA-256', ...) из Web Crypto API — тот же примитив, что браузеры используют внутри для TLS-рукопожатий. Никакие байты не загружаются; сервер не задействован. Хеш, который вы видите, идентичен тому, что выдали бы sha256sum, OpenSSL dgst -sha256 или Python hashlib.sha256().
Когда использовать SHA-256: проверка целостности файлов, content-addressed хранилище, рабочие процессы цифровых подписей, создание отпечатков сертификатов, инвалидация кеша через хеширование контента, дедупликация. Когда не использовать SHA-256: хранение паролей (используйте bcrypt, scrypt или Argon2 — SHA-256 слишком быстр для защиты паролей), HMAC без правильной конструкции (используйте специализированную библиотеку HMAC), или как универсальный случайный идентификатор (используйте UUID).
Для сравнения: SHA-256 даёт 64 hex-символа против 32 у MD5 (взломан с 2004), 40 у SHA-1 (взломан с 2017), 96 у SHA-384 и 128 у SHA-512. 256-битный вывод обеспечивает 128 бит устойчивости к коллизиям — значительно превышает любую обозримую вычислительную атаку.
// Hash text using Web Crypto API (SHA-256)
async function sha256(text) {
const data = new TextEncoder().encode(text);
const hash = await crypto.subtle.digest('SHA-256', data);
return Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0'))
.join('');
}
await sha256('Hello, World!');
// → 'dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f' Примеры SHA-256
Проверка скачанного Ubuntu ISO
ubuntu-24.04.iso
Перетащите скачанный ISO на вкладку «Файл»; инструмент вычисляет SHA-256 по частям, отображая прогресс для больших файлов. Сравните полученный хеш с файлом SHA256SUMS, который Ubuntu публикует на releases.ubuntu.com. Совпадение подтверждает, что скачивание побитово идентично подписанному Canonical — стандартная проверка целостности для любого Linux-дистрибутива.
Отпечаток TLS-сертификата
-----BEGIN CERTIFICATE-----MIIDXTCCAkWg...
Вставьте тело сертификата в формате PEM. SHA-256 отпечаток — это то, что отображается в диалогах информации о сертификатах в браузерах и в заголовках HTTP Public Key Pinning. Современные браузеры показывают его как 32 hex-байта, разделённые двоеточиями; этот инструмент даёт непрерывную 64-символьную форму, которую ожидают большинство API и конфигурационных файлов.
Хеш контента для инвалидации кеша
/* CSS file contents */
Распространённый паттерн статических сайтов: вычислить SHA-256 содержимого CSS или JS-файла, добавить первые 8 символов хеша как строку запроса (?v=a1b2c3d4) или суффикс имени файла (app.a1b2c3d4.css) и отдавать с заголовком кеша на 1 год. При изменении контента меняется хеш, детерминированно инвалидируя кеши. SHA-256 хорошо подходит, так как коллизии на практике невозможны — даже усечённый до 8 символов, случайная коллизия для одного сайта астрономически маловероятна.
Проверка поиска прообраза
password123
ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f
SHA-256 хеш 'password123' — ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f. Суть этого примера — в опасности: никогда не используйте чистый SHA-256 для хранения паролей — он слишком быстр (современный GPU перебирает миллиарды значений в секунду). Для паролей используйте bcrypt, scrypt или Argon2 с правильными параметрами соли и стоимости. SHA-256 — для целостности данных, а не для учётных данных.
Как получить SHA-256 хеши
- 1
Вставьте текст или перетащите файл
Выберите вкладку «Текст» и вставьте любую строку в поле ввода, или переключитесь на вкладку «Файл» и перетащите файл с рабочего стола в зону загрузки. Выбор алгоритма SHA-256 уже активен. Вычисление хеша происходит по мере ввода — кнопки «Сгенерировать» нет. Для файлов индикатор прогресса показывается при больших загрузках (>10 МБ).
- 2
Скопируйте 64-символьный хеш
Нажмите «Скопировать» рядом с выводом хеша. Полное 64-символьное hex-значение попадает в буфер обмена. Используйте переключатель «ПРОПИСНЫЕ/строчные», если нижестоящая система требует определённый регистр — Git использует строчные, некоторые инструменты Windows — прописные по умолчанию.
- 3
Проверьте через вкладку «Сравнение»
Переключитесь на вкладку «Сравнение» и вставьте два SHA-256 хеша (например, ваш и публикатора). Инструмент сообщает о совпадении или несовпадении с постоянным по времени сравнением — результат не утекает временну́ю информацию. Удобно для проверки скачанных ISO, дайджестов образов контейнеров или отпечатков подписанных JAR.
Технические детали
- Алгоритм: семейство SHA-2, конструкция Меркла–Дамгора
- SHA-256 обрабатывает ввод 512-битными блоками, применяя 64 раунда побитовых операций (вращения, XOR, сложения по модулю 2^32) с константами из кубических корней первых 64 простых чисел. Финальный хеш — внутреннее состояние после последнего блока. Реализация: FIPS 180-4, разделы 4.2 и 6.2.
- Вывод: 256 бит, 64 hex-символа
- Всегда ровно 64 символа в диапазоне [0-9a-f] (строчные) или [0-9A-F] (прописные). Разные кодировки (Base64, Base64URL) укорачивают строку; этот инструмент выводит каноническую hex-форму.
- Производительность: ~500 МБ/с в браузере, ~2 ГБ/с нативно
- Реализация SHA-256 в Web Crypto — скомпилированный C/Rust код, работающий вне JS VM, поэтому конкурентоспособен с нативными инструментами. Типичная скорость хеширования в браузере: 300–800 МБ/с. Файл в 1 ГБ вычисляется за 1–3 секунды.
- Стандарты: FIPS 180-4, RFC 6234, NIST SP 800-107
- В настоящее время одобрен NIST для всех уровней защиты до 2030 года и далее. Обязателен по PCI DSS 4.0 для целостности данных держателей карт, FedRAMP и оценок Common Criteria EAL2+.
Лучшие практики
- Всегда хешируйте байты UTF-8, а не кодовые точки Unicode
- Разные кодировки одной строки дают разные хеши. UTF-8 — де-факто стандарт; этот инструмент кодирует ввод как UTF-8 перед вычислением хеша. Если нужно совпасть с инструментом, использующим UTF-16 (некоторые Windows API) или Latin-1, необходимо предварительно кодировать ввод внешними средствами.
- Используйте постоянное по времени сравнение при проверке
- При сравнении двух хешей в коде используйте постоянное по времени равенство (timingSafeEqual в Node.js, hmac.compare_digest в Python). Наивное === или strcmp утекает временну́ю информацию, которую можно использовать для восстановления хеша. Вкладка «Сравнение» этого инструмента уже использует постоянное по времени сравнение.
- Усечение SHA-256 допустимо для несекьюрити-задач
- Для имён файлов с инвалидацией кеша или коротких идентификаторов контента — взять первые 8 или 16 hex-символов SHA-256 хеша допустимо. Вероятность коллизии всё равно астрономически мала в масштабах интернета. Для криптографического использования (подписи, отпечатки) всегда сохраняйте все 64 символа.
- Используйте соль для любого применения с ключом
- При использовании SHA-256 для получения ключа или токена из секрета всегда включайте уникальную соль для каждого ввода. Без соли одинаковые входные данные дают одинаковые хеши — что утекает информацию. Лучше: используйте HKDF (RFC 5869) или HMAC-SHA-256 вместо чистого SHA-256 для получения ключей.
Вопросы и ответы по SHA-256
Что такое SHA-256 и чем он отличается от MD5 или SHA-1?
Какова длина SHA-256 хеша?
SHA-256 безопасен для хранения паролей?
Можно ли обратить SHA-256, чтобы найти исходный ввод?
В чём разница между SHA-256 и SHA-2?
Отправляются ли мои данные на сервер при использовании этого инструмента?
Как проверить SHA-256 контрольную сумму скачанного файла?
Почему мой SHA-256 вывод отличается от инструмента командной строки?
Может ли SHA-256 вычислить хеш пустого файла?
Что лучше — SHA-256 или SHA-512?
Похожие инструменты
Все инструменты →Декодер JWT
Безопасность
Декодируйте JWT-токены онлайн бесплатно. Просмотр header, payload, signature, срока действия, алгоритма и claims. 100% в браузере — токен не покидает устройство. Без регистрации.
Генератор MD5-хешей и контрольных сумм файлов
Безопасность
Создавайте MD5, SHA-256, SHA-1 и SHA-512 хеши онлайн бесплатно. Хеширование текста или файлов в браузере, проверка контрольных сумм и копирование результатов. Без регистрации.
Генератор случайных паролей — настраиваемый и безопасный
Безопасность
Генерируйте сильные случайные пароли мгновенно — бесплатно, 100% в браузере. Настройка длины и символов, batch до 50 с анализом энтропии.
Генератор SHA-1 хешей (160-бит, устаревший)
Безопасность
Получайте SHA-1 хеши в браузере — 40-символьный hex-вывод, без загрузки на сервер. Устаревший инструмент для отпечатков Git, проверки старых сертификатов и аудита миграции.
Генератор SHA-3 хешей (Keccak SHA3-256)
Безопасность
Получайте SHA-3 хеши онлайн бесплатно. Конструкция губки NIST FIPS 202 — постSHA-2 стандарт. Вывод SHA3-256 в 64 hex-символах. Только в браузере через отложенно загружаемый js-sha3; без загрузки данных.
Генератор SHA-384 хешей (хеш TLS Suite B)
Безопасность
Получайте SHA-384 хеши онлайн — 96-символьный hex-вывод, защита от атак расширения длины, соответствие NSA Suite B. Используется с AES-256-GCM в TLS. Все вычисления в браузере через Web Crypto API.