Skip to content

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

Получайте SHA-3 хеши онлайн бесплатно. Конструкция губки NIST FIPS 202 — постSHA-2 стандарт. Вывод SHA3-256 в 64 hex-символах. Только в браузере через отложенно загружаемый js-sha3; без загрузки данных.

Без отслеживания Работает в браузере Бесплатно
SHA-3 вычисление хешей выполняется в браузере через библиотеку js-sha3. Данные не передаются на сервер.
Алгоритм
Проверено на корректность SHA3-256 против тестовых векторов NIST FIPS 202 CAVP; различие Keccak/SHA-3 в дополнении проверено — Команда инженеров Go-Tools · May 28, 2026

Что такое SHA-3?

SHA-3 (Secure Hash Algorithm 3) — третье поколение стандарта Secure Hash Standard от NIST, стандартизированное в FIPS 202 в августе 2015 года. В отличие от SHA-1 и SHA-2, основанных на конструкции Меркла–Дамгора, SHA-3 использует принципиально иную конструкцию — конструкцию губки. NIST сделал этот выбор намеренно, чтобы криптоаналитический взлом SHA-2 не компрометировал автоматически SHA-3.

Конкурс NIST SHA-3 (2007–2012): NIST принял публичные заявки по всему миру в 2007 году. После трёх раундов оценки 64 кандидата сузились до пяти финалистов: BLAKE, Grøstl, JH, Keccak и Skein. В октябре 2012 года Keccak — разработанный Гвидо Бертони, Жоаном Дэменом, Михаэлем Питерсом и Жиллем Ван Аше (STMicroelectronics и NXP Semiconductors) — был выбран победителем. Все пять финалистов считались безопасными; уникальная конструкция Keccak на основе губки дала ему структурное разнообразие, которое приоритизировал NIST.

Конструкция губки: SHA-3 поглощает ввод в 1600-битное состояние (перестановка Keccak-f[1600]) в фазе поглощения, затем сжимает выходные биты из состояния в фазе сжатия. Для SHA3-256 соотношение скорость/ёмкость — 1088/512 бит. Поскольку только 256 из 1600 битов внутреннего состояния присутствуют в выводе, злоумышленник не может восстановить полное состояние из хеша — атаки расширения длины структурно невозможны. Это контрастирует с SHA-256, где полное внутреннее состояние раскрывается в выводе, требуя HMAC для предотвращения расширения длины.

SHA-3 против Keccak — различие в дополнении: NIST изменил оригинальную заявку Keccak, изменив байт разделения домена с 0x01 на 0x06. Это означает, что NIST SHA3-256 и оригинальный Keccak-256 производят разные 64-символьные выводы для каждого ввода. Это не теоретическое отличие — именно поэтому Ethereum keccak256 (зафиксированный до финализации FIPS 202) отличается от SHA3-256 этого инструмента для одной и той же строки. Никогда не используйте этот инструмент для воспроизведения адресов Ethereum.

FIPS 202 определяет четыре варианта SHA-3: SHA3-224 (56 hex-символов), SHA3-256 (64), SHA3-384 (96), SHA3-512 (128). Этот инструмент реализует SHA3-256 — наиболее распространённый вариант, наиболее непосредственно сравнимый с SHA-256.

Примечание о библиотеке: SHA-3 ещё не включён в спецификацию Web Crypto API браузера (crypto.subtle поддерживает только SHA-1, SHA-256, SHA-384, SHA-512). Этот инструмент отложенно загружает JavaScript библиотеку js-sha3 (~10 КБ в сжатом виде) при первом использовании. После этой единственной загрузки все вычисления выполняются локально в браузере — данные ввода никогда не передаются.

Когда использовать SHA-3: новые протоколы, требующие структурного разнообразия по сравнению с SHA-2; MAC с ключом без HMAC обёртки (KMAC128/256 по NIST SP 800-185); постквантовое хеджирование как резерв SHA-2; соответствие системам, требующим FIPS 202. Когда оставаться с SHA-256: универсальная поддержка библиотек, аппаратное ускорение (расширения SHA-NI), совместимость с существующими протоколами и большинство повседневных задач целостности, где SHA-256 уже является установленным стандартом.

// SHA-3 (NIST FIPS 202 SHA3-256) using js-sha3 library
import { sha3_256 } from 'js-sha3';

const hash = sha3_256('Hello, World!');
// → '882f4b6991a775295186a4e3cc5ece9fc0b618c8c3e7a7beafdd0f56f13ae43b'

// Note: this differs from Ethereum's keccak256 for the same input:
// keccak256('Hello, World!') = 'acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f'
// The difference is the padding byte: 0x06 (SHA-3) vs 0x01 (original Keccak)

Примеры SHA-3

Проверка тестового вектора NIST FIPS 202

abc
3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532

SHA3-256("abc") = 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 — это официальный тестовый вектор NIST FIPS 202. Вставьте «abc» в инструмент и подтвердите этот точный вывод, чтобы убедиться, что вы вычисляете NIST SHA-3 (а не оригинальный Keccak). Этот единственный тест отличает совместимую с FIPS реализацию SHA-3 от использующей более старый байт дополнения Keccak.

Различие Keccak и SHA-3 — одинаковый ввод, разный вывод

Hello

SHA3-256("Hello") из этого инструмента (NIST FIPS 202) = 8ca66ee6b2fe4bb928a8e3cd2f508de4119c0895f22df86f0ab7e30e487e4500. Ethereum keccak256("Hello") = 06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2. Одинаковый ввод, разные 64-символьные hex-выводы. Разница — в суффиксе дополнения: NIST SHA-3 использует 0x06, тогда как оригинальный Keccak (который Ethereum зафиксировал в 2013 году) использует 0x01. Ethereum предшествует стандартизации NIST в 2015 году и навсегда отделился от варианта FIPS 202.

Постквантовый архивный хеш

NIST SP 800-57 Part 1 Rev 5 — Recommendation for Key Management

SHA3-256 обеспечивает 128-битную устойчивость к прообразам против алгоритма Гровера на квантовом компьютере — тот же эффективный уровень защиты, что и SHA-256 против квантовой атаки. Для данных, которые должны оставаться защищёнными от подмены после 2050 года, использование SHA-3 наряду с SHA-256 обеспечивает защиту в глубину: если обнаружится уязвимость в конструкции одного алгоритма (Меркль–Дамгор для SHA-2; Keccak губка для SHA-3), другой остаётся безопасным. Институциональные архивы и государственные документы всё чаще используют манифесты с двойным хешем (SHA-256 + SHA3-256). Также см. Генератор SHA-256 для стороны SHA-2.

Аутентификация сообщения HMAC-SHA3-256 с ключом

POST /api/ledger
{"amount":250000,"from":"acct-A","to":"acct-B"}

HMAC-SHA3-256 — современная альтернатива HMAC-SHA-256 для аутентификации сообщений с ключом. Поскольку конструкция губки SHA-3 нативно устойчива к атакам расширения длины (фаза сжатия отбрасывает внутреннее состояние), чистый SHA3-256 MAC с ключом (KMAC, определённый в NIST SP 800-185) также безопасен — в отличие от чистого SHA-256, требующего HMAC обёртки для защиты от расширения длины. Вставьте тело канонического запроса для просмотра SHA3-256 отпечатка перед применением HMAC.

Как получить SHA-3 хеши

  1. 1

    Вставьте текст в поле ввода

    Выберите вкладку «Текст» и введите или вставьте любую строку. SHA3-256 хеш обновляется в реальном времени по мере ввода. При первом использовании библиотека js-sha3 (~10 КБ) загружается и кешируется — при первом вычислении хеша возможна небольшая задержка; все последующие вычисления мгновенны. Алгоритм уже установлен на SHA-3 (NIST FIPS 202 SHA3-256).

  2. 2

    Скопируйте 64-символьный hex-вывод

    Нажмите «Скопировать» рядом с результатом хеша. 64-символьная строчная hex-строка копируется в буфер обмена. Используйте переключатель «ПРОПИСНЫЕ», если целевая система требует прописные буквы. Этот вывод совпадает с тем, что выдаёт любая совместимая с FIPS 202 реализация SHA3-256 — но он отличается от Ethereum keccak256 для того же ввода.

  3. 3

    Проверьте через вкладку «Сравнение»

    Переключитесь на вкладку «Сравнение» и вставьте два SHA3-256 хеша рядом. Инструмент использует постоянное по времени сравнение для сообщения о совпадении или несовпадении без утечки временно́й информации. Удобно для проверки тестовых векторов NIST CAVP, проверки архивных манифестов или подтверждения идентичного вывода двух SHA3-256 реализаций.

Технические детали

Алгоритм: конструкция губки Keccak-f[1600]
SHA3-256 применяет перестановку Keccak-f[1600] (24 раунда операций theta, rho, pi, chi, iota над массивом состояния 5×5×64) в конструкции губки со скоростью=1088 бит и ёмкостью=512 бит. Ввод поглощается в 136-байтных (1088-битных) блоках; 256 бит вывода сжимаются. Разделитель домена FIPS 202 добавляет 0x06 перед дополнением. Реализация: NIST FIPS 202 (2015), раздел 6.
Вывод: SHA3-256 по умолчанию, 64 hex-символа (FIPS 202 также определяет 224/384/512)
Этот инструмент выводит SHA3-256: всегда ровно 64 шестнадцатеричных символа (256 бит = 32 байта). NIST FIPS 202 также стандартизирует SHA3-224 (56 символов), SHA3-384 (96) и SHA3-512 (128) — все используют одну и ту же перестановку Keccak-f[1600] с разными соотношениями скорость/ёмкость. Длина вывода фиксирована независимо от размера ввода.
Производительность: отложенно загружаемый js-sha3 (~10 КБ); ~150–400 МБ/с в браузере
В отличие от SHA-2 маршрутов (использующих нативный Web Crypto API браузера), SHA-3 не включён в спецификацию Web Crypto. Этот инструмент загружает библиотеку js-sha3 (~10 КБ в сжатом виде) при первом использовании, затем кеширует её. Типичная пропускная способность: 150–400 МБ/с на JavaScript против 400–700 МБ/с для SHA-256 через Web Crypto. Для хеширования текста (килобайты) разница незаметна.
Стандарты: NIST FIPS 202 (2015), NIST SP 800-185 (KMAC), NIST IR 8105
Стандартизирован в FIPS 202 (август 2015). NIST SP 800-185 (2016) определяет KMAC128 и KMAC256 — функции MAC на основе SHA-3 с ключом, нативно устойчивые к расширению длины без HMAC обёртки. NIST IR 8105 рекомендует варианты SHA-3 для постквантового запаса безопасности. В настоящее время одобрен для всех уровней защиты до 2030 года и далее по NIST SP 800-131A Rev 2.

Лучшие практики

Не путайте SHA3-256 с Ethereum keccak256
Это разные алгоритмы с разными выводами для каждого ввода. Этот инструмент вычисляет NIST FIPS 202 SHA3-256 (байт дополнения 0x06). Ethereum keccak256 использует оригинальное дополнение Keccak (0x01). При вычислении хешей адресов Ethereum, слотов хранилища EVM или результатов keccak256() в Solidity вам нужен специализированный инструмент keccak256 — этот инструмент даст неверные результаты для таких сценариев.
Используйте SHA-3 как резервный наряду с SHA-256, а не как замену
SHA-3 и SHA-2 используют структурно разные конструкции (губка против Меркла–Дамгора). Манифест с двойным хешем (SHA-256 + SHA3-256) обеспечивает защиту в глубину: если когда-либо будет найдена криптоаналитическая уязвимость в конструкции одного семейства, другое остаётся безопасным. Для долгосрочных архивных данных и государственных документов NIST рекомендует рассмотреть этот подход с двойным алгоритмом. Для повседневного использования SHA-256 в одиночку по-прежнему полностью достаточен.
Предпочитайте KMAC по сравнению с HMAC-SHA3-256 для новых конструкций MAC с ключом
NIST SP 800-185 определяет KMAC128 и KMAC256 — специализированные MAC с ключом на основе SHA-3. Поскольку конструкция губки нативно устойчива к расширению длины, KMAC не нуждается в двойном хешировании, которое требует HMAC для безопасности. Для новых протоколов с гибкостью в выборе MAC алгоритма KMAC128 (128-битная защита) или KMAC256 (256-битная защита) чище и немного эффективнее, чем HMAC-SHA3-256.
Используйте постоянное по времени сравнение при проверке SHA-3 хешей в коде
При сравнении двух SHA3-256 хешей в коде всегда используйте постоянное по времени функцию равенства: Node.js crypto.timingSafeEqual(), Python hmac.compare_digest(), Go subtle.ConstantTimeCompare(). Наивное строковое равенство (=== или ==) утекает временну́ю информацию, позволяющую злоумышленнику восстановить ожидаемый хеш байт за байтом. Это применимо в равной мере к SHA-3 и всем другим хеш-функциям. Вкладка «Сравнение» этого инструмента уже использует постоянное по времени сравнение.

Вопросы и ответы по SHA-3

SHA-3 и Keccak — одно и то же?
Похоже, но не идентично. SHA-3 основан на алгоритме Keccak, победившем в конкурсе NIST SHA-3 в 2007–2012 годах, но NIST изменил правило дополнения при стандартизации. Оригинальный Keccak добавляет суффиксный байт 0x01 перед дополнением; NIST SHA-3 (FIPS 202, 2015) добавляет 0x06. Это однобайтовое различие означает, что SHA3-256 и Keccak-256 производят разные 64-символьные выводы для каждого ввода. Алгоритмы структурно идентичны в остальном — та же перестановка Keccak-f[1600], та же конструкция губки. Когда кто-то говорит «Keccak» в контексте Ethereum/блокчейна, почти всегда имеют в виду оригинальный вариант с до-FIPS дополнением, а не NIST SHA-3.
Почему Ethereum использует keccak256, а не SHA-3?
Ethereum разрабатывался в 2013–2014 годах и запустился в 2015 году — до того как NIST финализировал SHA-3 в августе 2015 года. Когда протокол Ethereum был зафиксирован, эталонной реализацией было оригинальное предложение команды Keccak. Затем NIST изменил дополнение при стандартизации, но Ethereum не мог ретроактивно принять вариант FIPS 202 без нарушения консенсуса (каждый узел должен вычислять идентичные хеши). Результат — постоянная вилка: Ethereum keccak256 использует оригинальное дополнение Keccak (0x01), тогда как SHA3-256 этого инструмента использует дополнение NIST FIPS 202 (0x06). Один структурный алгоритм, разные выводы. Никогда не используйте этот инструмент для воспроизведения адресов Ethereum или keccak256 EVM — получите неверные результаты.
Что такое конструкция губки?
Конструкция губки — альтернатива SHA-3 по сравнению с цепочкой Меркла–Дамгора SHA-2. Вместо последовательного сжатия входных блоков в текущее хеш-состояние (Меркль–Дамгор), губка имеет две фазы: поглощение (ввод XOR-ится в часть состояния и смешивается с перестановкой Keccak-f[1600] повторно) и сжатие (выходные биты читаются из состояния). Ключевое преимущество безопасности: внутреннее состояние больше вывода — SHA3-256 использует 1600-битное состояние, но выводит только 256 бит, оставляя 1344 бита скрытого состояния. Злоумышленник, видящий только 256-битный вывод, не может восстановить полное состояние для расширения сообщения, делая атаки расширения длины структурно невозможными. Это отличает SHA-3 от SHA-256, для которого требуется HMAC для предотвращения расширения длины.
Стоит ли использовать SHA-3 вместо SHA-2?
Не по умолчанию — и SHA-256, и SHA3-256 в настоящее время безопасны и одобрены NIST. SHA-3 разработан как структурный резерв для SHA-2: поскольку они используют принципиально разные конструкции (Меркль–Дамгор против губки), взлом одного алгоритма не компрометирует автоматически другой. Используйте SHA-3, когда: (1) ваш протокол явно требует его, (2) нужна защита от расширения длины без HMAC обёртки, (3) вы создаёте новую систему с будущей устойчивостью к смене алгоритмов, или (4) ваша организация требует резервный SHA-3 хеш наряду с SHA-256. Для повседневных контрольных сумм файлов и отпечатков сертификатов SHA-256 остаётся универсальным стандартом с лучшей поддержкой библиотек и железа.
SHA-3 быстрее SHA-256?
В программном обеспечении — обычно медленнее. SHA3-256 обычно достигает 150–400 МБ/с в JavaScript браузера против 400–700 МБ/с для SHA-256 через Web Crypto API (использующий нативную C-уровень реализацию SHA-2 браузера). В специализированном железе и ASIC перестановка Keccak-f[1600] SHA-3 часто быстрее, поскольку лучше распараллеливается и использует только простые побитовые операции (XOR, AND, вращение). SHA-3 также превосходит SHA-2 на 32-битном встроенном железе во многих случаях. Для браузерных инструментов эта разница в производительности незаметна.
Какова длина SHA-3 хеша из этого инструмента?
Этот инструмент по умолчанию использует SHA3-256, который всегда выдаёт ровно 64 шестнадцатеричных символа (256 бит = 32 байта, 2 hex-символа на байт). NIST FIPS 202 также определяет SHA3-224 (56 hex-символов), SHA3-384 (96), SHA3-512 (128). Все используют одну и ту же перестановку Keccak-f[1600]; различаются только соотношение ёмкость/скорость и длина вывода. Для сравнения: SHA-256 также выдаёт 64 hex-символа, но для одного ввода это другие 64 символа.
SHA-3 квантово-устойчив?
Частично. Алгоритм Гровера на квантовом компьютере может вдвое снизить уровень защиты любой хеш-функции. SHA3-256 имеет 256 бит устойчивости к прообразу, что под квантовой атакой снижается до 128 бит — по-прежнему безопасно при любой ближайшей угрозе. Важное преимущество перед SHA-2: конструкция губки SHA-3 не связана с Меркла–Дамгором, поэтому не подвержена криптоаналитическим методам, специфичным для функции сжатия SHA-2. Руководство NIST по постквантовой защите рекомендует SHA-3 как предпочтительный хеш для новых протоколов, желающих архитектурного разнообразия наряду с SHA-2.
Отправляются ли мои данные на сервер при использовании этого инструмента?
Нет. После начальной загрузки библиотеки (скрипт js-sha3 загружается один раз из CDN, ~10 КБ), все вычисления хешей выполняются полностью в браузере на JavaScript. Откройте DevTools → вкладку Network при вычислении хеша текста — увидите ноль исходящих запросов, несущих данные ввода. В отличие от SHA-2 инструментов на этом сайте (использующих встроенный в браузер Web Crypto API), SHA-3 ещё не включён в спецификацию Web Crypto, поэтому требуется JavaScript библиотека. Загрузка библиотеки — единственный сетевой запрос; ваш текст никогда не покидает страницу. Также: генератор SHA-256 и генератор MD5 не используют внешних библиотек вообще.
Что такое конкурс NIST SHA-3?
NIST провёл открытый конкурс с 2007 по 2012 год для выбора третьего стандарта Secure Hash Algorithm — не для замены SHA-2 (который остаётся безопасным), а для разнообразия ландшафта хеш-алгоритмов на случай взлома SHA-2. 64 первоначальные заявки были сужены до 5 финалистов: BLAKE, Grøstl, JH, Keccak и Skein. Keccak, разработанный Гвидо Бертони, Жоаном Дэменом, Михаэлем Питерсом и Жиллем Ван Аше (STMicroelectronics и NXP Semiconductors), был выбран победителем в октябре 2012 года и стандартизирован как SHA-3 в NIST FIPS 202 в августе 2015 года.
SHA-3 уязвим к атакам расширения длины?
Нет — по конструкции. Атаки расширения длины используют то, что конструкции Меркла–Дамгора (SHA-256, SHA-512, MD5) раскрывают внутреннее состояние в выводе хеша, позволяя злоумышленнику добавлять данные к хешируемому сообщению без знания секретного префикса. Конструкция губки SHA-3 полностью избегает этого: 1600-битное внутреннее состояние больше 256-битного вывода, поэтому вывод не раскрывает достаточно состояния для расширения сообщения. Это означает, что чистый SHA3-256 можно безопасно использовать как примитив MAC с ключом (KMAC), тогда как использование чистого SHA-256 как MAC с ключом (HASH(key || message)) небезопасно без HMAC обёртки.

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

Все инструменты →

Декодер 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-256 хешей и контрольных сумм

Безопасность

Получайте SHA-256 хеши онлайн бесплатно. Хеширование текста или файлов в браузере, проверка контрольных сумм, 64-символьный hex-вывод. Без регистрации; данные не покидают страницу.

Генератор SHA-384 хешей (хеш TLS Suite B)

Безопасность

Получайте SHA-384 хеши онлайн — 96-символьный hex-вывод, защита от атак расширения длины, соответствие NSA Suite B. Используется с AES-256-GCM в TLS. Все вычисления в браузере через Web Crypto API.