Генератор хеша Keccak-256

Мгновенно получайте хеш Keccak-256 любого текста в браузере. Ввод UTF-8, hex или Base64; вывод в hex или Base64. Бесплатно, приватно, без загрузки.

Keccak-256

Работает полностью в вашем браузере. Ваши данные никуда не загружаются.

Что такое Генератор хеша Keccak-256?

Keccak-256 — оригинальный хеш Keccak (победитель конкурса SHA-3 в исходной редакции 2011 года) с 256-битным выводом, до того как NIST изменил дополнение для FIPS 202. Инструмент вычисляет 256-битный дайджест Keccak-256 текста или сырых байтов (hex или Base64) по мере ввода и показывает его как 64 hex-символа или Base64.

Как пользоваться Генератор хеша Keccak-256

  1. Введите или вставьте данные в Текст для хеширования — дайджест обновляется по мере ввода (пустое поле показывает хеш пустого ввода).
  2. Выберите Кодировка ввода: Текст (UTF-8) хеширует символы как UTF-8, Байты в hex или Base64 хешируют декодированные сырые байты.
  3. Выберите Формат вывода (hex строчными, hex прописными или Base64) и нажмите Копировать.

Пример

Ввод
abc
Вывод
4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45

Keccak-256 от 3 ASCII-байтов "abc" (UTF-8, вывод hex строчными) — стандартный тестовый вектор.

Когда использовать Генератор хеша Keccak-256

Используйте текстовый инструмент Keccak-256 для хеширования строк: воспроизвести значение из документации или кода, подготовить тестовые векторы, сверить вход подписи API или проверить, что должна выдавать программа. Не используйте его и для проверки скачанного файла: при копировании содержимого файла в текстовое поле меняются окончания строк и кодировка, поэтому берите инструмент контрольной суммы файла Keccak-256. Для новых работ по стандартам (FIPS, NIST) используйте SHA3-256.

Как работает Генератор хеша Keccak-256

Keccak-256 поглощает ввод в 1600-битное состояние Keccak-f[1600] блоками по 1088 бит (ёмкость 512 бит) и применяет 24 раунда перестановки на блок. Дополнение выполняется по исходному правилу Keccak pad10*1 (байты 0x01 … 0x80), без суффикса домена 01, добавленного в FIPS 202. Первые 256 бит состояния — это дайджест, поэтому Keccak-256 и SHA3-256 различаются для любого ввода. Текст сначала преобразуется в байты (по умолчанию UTF-8), поэтому одни и те же символы всегда дают один и тот же хеш.

Распространенные Случаи Использования

  • Проверить ожидаемый Keccak-256 строки в юнит-тесте или фикстуре
  • Хешировать hex-байты, скопированные из отладчика, дампа пакетов или спецификации протокола
  • Сравнить вывод Keccak-256 в двух языках программирования, которые дают разные результаты
  • Генерировать детерминированные идентификаторы или ключи кэша из текста
  • Получить форму Base64 дайджеста Keccak-256 для заголовков или конфигурационных файлов

Примечание по Безопасности

Keccak-256 не имеет известных практических атак. Обычные хеши также не подходят для хранения паролей: используйте медленный хеш паролей с солью, например Argon2, scrypt или bcrypt. Все вычисления выполняются локально в браузере; введённые данные никуда не отправляются.

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

Это тот хеш, который Ethereum называет keccak256?

Да. Solidity keccak256, адреса Ethereum (последние 20 байт Keccak-256 от открытого ключа) и селекторы функций (первые 4 байта Keccak-256 от сигнатуры, например transfer(address,uint256) → a9059cbb) используют именно этот исходный Keccak-256, а не SHA3-256 из FIPS 202.

Как хешировать hex-значение, как это делает Solidity?

Solidity хеширует байты, поэтому keccak256(0x1234) хеширует два байта. Выберите Байты в hex как кодировку ввода и вставьте hex без пробелов; при выборе текста хешировались бы ASCII-символы.

Почему хеш полностью меняется при изменении одного символа?

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

Важен ли пробел или перевод строки в конце?

Да. Хеш охватывает каждый байт, поэтому abc и abc с переводом строки дают разные значения Keccak-256. Убедитесь, что ввод содержит ровно те байты, которые вы хотите хешировать.

Другие категории