Генератор SHA3-256
Вычисляйте хеш SHA3-256 для любого текста по стандарту SHA-3 на основе Keccak из FIPS 202. Инструмент кодирует введенные данные в UTF-8 и возвращает хеш длиной 256 бит в виде 64 шестнадцатеричных символов или Base64. Он пригодится разработчикам, которым нужны хеши SHA-3 для протоколов, тестовых данных и проверок целостности, а также тем, кто хочет сравнить результаты с другой библиотекой SHA-3.
Часто задаваемые вопросы
Что такое SHA3-256?
SHA3-256 — это хеш-функция из стандарта SHA-3, FIPS 202, основанная на конструкции губки Keccak. Она создает хеш длиной 256 бит, представленный 64 шестнадцатеричными символами. Ее внутренняя структура полностью отличается от SHA-2.
Является ли SHA3-256 тем же, что Keccak-256, используемый в Ethereum?
Нет. Ethereum использует исходный вариант Keccak-256, в котором входные данные дополняются иначе, чем в окончательном стандарте SHA-3. Для одного и того же текста они дают разные хеши. Этот инструмент вычисляет стандартизированный SHA3-256 по FIPS 202.
Каковы тестовые векторы SHA3-256?
Хеш пустой строки: a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a. Хеш текста abc: 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532. Оба результата совпадают с примерами NIST.
Почему стоит выбрать SHA-3 вместо SHA-256?
SHA-3 служит запасным вариантом на случай обнаружения уязвимости в SHA-2, поскольку их структуры ничем не похожи. Он также устойчив к атакам с продолжением длины. SHA-256 остается безопасным и поддерживается шире, поэтому выбирайте SHA-3, если этого требует спецификация.
Как обрабатываются введенные данные?
Текст кодируется в UTF-8 и хешируется побайтно. Учитываются все пробелы и переносы строк. Вычисление выполняется на сервере с помощью WebAssembly, введенные данные не сохраняются.
Чем отличаются результаты в hex и Base64?
Оба формата представляют один и тот же 32-байтовый хеш. В hex используются 64 строчных символа, а для Base64 нужны 44 символа, включая один знак дополнения. Используйте формат, предусмотренный вашим кодом или документацией.
Можно ли обратить SHA3-256?
Нет. SHA3-256 — однонаправленная функция, поэтому восстановить исходный текст по хешу невозможно. Короткие и распространенные входные данные все же можно угадать, перебирая варианты, поэтому не считайте хеш предсказуемого значения секретом.
Подходит ли SHA3-256 для паролей?
Сам по себе — нет. Он работает быстро, поэтому злоумышленники могут проверять множество вариантов в секунду. Вместо него используйте функцию хеширования паролей, например Argon2, bcrypt или scrypt.
Какой может быть длина текста?
Инструмент принимает до 5 MiB текста на запрос. Большие объемы данных и двоичные файлы лучше хешировать локально, например с помощью openssl dgst -sha3-256.
Всегда ли SHA3-256 дает одинаковый результат?
Да. Любая корректная реализация возвращает одинаковый хеш для одних и тех же байтов. Если результаты двух инструментов расходятся, причина почти всегда в другой кодировке текста, завершающем переводе строки или путанице с вариантом Keccak, описанной выше.