Генератор хеша Keccak-256
Мгновенно получайте хеш Keccak-256 любого текста в браузере. Ввод UTF-8, hex или Base64; вывод в hex или Base64. Бесплатно, приватно, без загрузки.
Работает полностью в вашем браузере. Ваши данные никуда не загружаются.
Что такое Генератор хеша Keccak-256?
Keccak-256 — оригинальный хеш Keccak (победитель конкурса SHA-3 в исходной редакции 2011 года) с 256-битным выводом, до того как NIST изменил дополнение для FIPS 202. Инструмент вычисляет 256-битный дайджест Keccak-256 текста или сырых байтов (hex или Base64) по мере ввода и показывает его как 64 hex-символа или Base64.
Как пользоваться Генератор хеша Keccak-256
- Введите или вставьте данные в Текст для хеширования — дайджест обновляется по мере ввода (пустое поле показывает хеш пустого ввода).
- Выберите Кодировка ввода: Текст (UTF-8) хеширует символы как UTF-8, Байты в hex или Base64 хешируют декодированные сырые байты.
- Выберите Формат вывода (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. Убедитесь, что ввод содержит ровно те байты, которые вы хотите хешировать.