Генератор хеша SHA3-512
Мгновенно получайте хеш SHA3-512 любого текста в браузере. Ввод UTF-8, hex или Base64; вывод в hex или Base64. Бесплатно, приватно, без загрузки.
Работает полностью в вашем браузере. Ваши данные никуда не загружаются.
Что такое Генератор хеша SHA3-512?
SHA3-512 — 512-битный хеш фиксированной длины из стандарта SHA-3 (FIPS 202, 2015), основанный на губке Keccak, а не на конструкции SHA-2. Инструмент вычисляет 512-битный дайджест SHA3-512 текста или сырых байтов (hex или Base64) по мере ввода и показывает его как 128 hex-символов или Base64.
Как пользоваться Генератор хеша SHA3-512
- Введите или вставьте данные в Текст для хеширования — дайджест обновляется по мере ввода (пустое поле показывает хеш пустого ввода).
- Выберите Кодировка ввода: Текст (UTF-8) хеширует символы как UTF-8, Байты в hex или Base64 хешируют декодированные сырые байты.
- Выберите Формат вывода (hex строчными, hex прописными или Base64) и нажмите Копировать.
Пример
abc
b751850b1a57168a5693cd924b6b096e08f621827444f70d884f5d0240d2712e10e116e9192af3c91a7ec57647e3934057340b4cf408d5a56592f8274eec53f0
SHA3-512 от 3 ASCII-байтов "abc" (UTF-8, вывод hex строчными) — стандартный тестовый вектор.
Когда использовать Генератор хеша SHA3-512
Используйте текстовый инструмент SHA3-512 для хеширования строк: воспроизвести значение из документации или кода, подготовить тестовые векторы, сверить вход подписи API или проверить, что должна выдавать программа. Не используйте его и для проверки скачанного файла: при копировании содержимого файла в текстовое поле меняются окончания строк и кодировка, поэтому берите инструмент контрольной суммы файла SHA3-512. Если вы работаете с Ethereum или другим ПО, которое называет хеш «SHA3», но появилось до FIPS 202, вам, вероятно, нужен Keccak-512.
Как работает Генератор хеша SHA3-512
SHA3-512 — это губка над 1600-битной перестановкой Keccak-f (24 раунда θ, ρ, π, χ и ι). Ввод поглощается блоками по 576 бит (rate; ёмкость 1024 бит) с дополнением суффиксом домена SHA-3 01 и затем pad10*1 (байты 0x06 … 0x80). После поглощения первые 512 бит состояния выжимаются как дайджест. Суффикс — единственное отличие от исходного Keccak-512, но он меняет каждый результат. Текст сначала преобразуется в байты (по умолчанию UTF-8), поэтому одни и те же символы всегда дают один и тот же хеш.
Распространенные Случаи Использования
- Проверить ожидаемый SHA3-512 строки в юнит-тесте или фикстуре
- Хешировать hex-байты, скопированные из отладчика, дампа пакетов или спецификации протокола
- Сравнить вывод SHA3-512 в двух языках программирования, которые дают разные результаты
- Генерировать детерминированные идентификаторы или ключи кэша из текста
- Получить форму Base64 дайджеста SHA3-512 для заголовков или конфигурационных файлов
Примечание по Безопасности
SHA3-512 не имеет известных практических атак. Обычные хеши также не подходят для хранения паролей: используйте медленный хеш паролей с солью, например Argon2, scrypt или bcrypt. Все вычисления выполняются локально в браузере; введённые данные никуда не отправляются.
Часто Задаваемые Вопросы
Почему мой SHA3-512 не совпадает с Ethereum или старой библиотекой?
Ethereum и некоторые старые библиотеки используют исходную редакцию Keccak, которая дополняет данные байтом 0x01 вместо суффикса FIPS 202 0x06. Результаты совершенно разные; для таких значений используйте инструмент Keccak-512.
SHA3-512 лучше, чем SHA-512?
Оба безопасны. SHA-3 — другая конструкция (губка), поэтому даёт разнообразие на случай, если SHA-2 когда-нибудь ослабят, и устойчива к удлинению сообщения. SHA-2 быстрее в программной реализации и шире распространён.
Почему хеш полностью меняется при изменении одного символа?
Это лавинный эффект, на который рассчитан любой криптографический хеш: изменение одного бита входа меняет около половины из 512 бит выхода, поэтому похожие входы дают несвязанные дайджесты.
Важен ли пробел или перевод строки в конце?
Да. Хеш охватывает каждый байт, поэтому abc и abc с переводом строки дают разные значения SHA3-512. Убедитесь, что ввод содержит ровно те байты, которые вы хотите хешировать.