Генератор хеша SHA-512

Вычисляйте 512-битный хеш SHA-512 текста, hex-байтов или файла, сверяйте его с ожидаемым значением и смотрите SHA-384, SHA-256, SHA-1, MD5 и CRC-32 тех же данных.

Все алгоритмы

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

Как пользоваться

  1. Введите текст или hex-байты либо откройте файл, чтобы вычислить хеш его содержимого.
  2. В параметре «Формат вывода» выберите hex для контрольных сумм в стиле sha512sum или «Base64» для строк целостности.
  3. Чтобы проверить значение, вставьте ожидаемый хеш в поле «Сравнить с»; принимается и hex, и Base64.
  4. Нужен SHA-384? Выберите его в параметре «Алгоритм» или скопируйте из таблицы «Все алгоритмы».

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

SHA-512 — функция семейства SHA-2 с самым длинным результатом, описанная в FIPS 180-4 и RFC 6234. Если SHA-256 работает с 32-битными словами, то SHA-512 использует 64-битные слова, блоки по 1024 бита и 80 раундов и выдаёт 512-битный хеш: 128 шестнадцатеричных символов или 88 символов Base64. Его стойкость к коллизиям, около 256 бит, с огромным запасом превосходит любую атаку, какую можно представить в обозримом будущем, и, как любой хеш, он работает только в одну сторону: исходные данные нельзя восстановить по хешу.

Поскольку SHA-512 использует 64-битную арифметику, на 64-битных процессорах без специальных инструкций для SHA-256 он часто обрабатывает каждый байт быстрее, чем SHA-256. На процессорах с такими инструкциями быстрее обычно оказывается SHA-256.

SHA-384, SHA-512/256 и другие усечённые варианты

Несколько стандартных хеш-функций — это SHA-512 с другими начальными значениями, результат которого обрезан до меньшей длины:

НазваниеРезультатДлина в hexТипичное применение
SHA-384384 бита96Наборы шифров TLS 1.3, Subresource Integrity
SHA-512/256256 бит64Результат размера SHA-256 со скоростью SHA-512
SHA-512/224224 бита56Используется редко

Поскольку начальные значения отличаются, SHA-512/256 — это не первые 64 hex-символа SHA-512. Кроме того, усечённые варианты устойчивы к атаке удлинением сообщения, которой подвержены полные SHA-256 и SHA-512. Эта страница вычисляет SHA-384 и SHA-512; для SHA-512/256 воспользуйтесь другим инструментом, например openssl dgst -sha512-256.

Строки целостности в Base64 и хеши паролей

Hex-запись SHA-512 очень длинная, поэтому машиночитаемые форматы часто передают его в Base64. Subresource Integrity принимает sha256-, sha384- и sha512-, за которыми следует хеш в Base64, а package-lock.json в npm хранит для каждого пакета значение integrity, обычно начинающееся с sha512-. Откройте файл, выберите формат вывода «Base64» и добавьте префикс.

Хеши паролей Linux, начинающиеся с $6$, — это sha512crypt: SHA-512 с солью, повторённый тысячи раз, поэтому они никогда не совпадают с простым SHA-512 пароля. Однократный SHA-512 пароля быстро подбирается перебором, каким бы длинным ни был хеш; храните пароли с помощью Argon2id, scrypt, bcrypt или PBKDF2-HMAC-SHA512.

SHA-512 в командной строке и в коде

sha512sum file.tar.gz                        # Linux
shasum -a 512 file.tar.gz                    # macOS
certutil -hashfile file.tar.gz SHA512        # Windows
Get-FileHash file.tar.gz -Algorithm SHA512   # PowerShell

# Хеш в Base64 для атрибута integrity
openssl dgst -sha512 -binary file.js | openssl base64 -A

# Python
hashlib.sha512(data).hexdigest()

// Node.js
crypto.createHash('sha512').update(data).digest('base64')

На этой странице SHA-512 вычисляется с помощью Web Crypto API в вашем браузере, а таблица «Все алгоритмы» показывает значения SHA-384, SHA-256, SHA-1, MD5 и CRC для тех же входных данных.

Примеры

Исходные данные (UTF-8)SHA-512
Hello, World!374d794a95cdcfd8b35993185fef9ba368f160d8daf432d08ba9f1ed1e5abe6cc69291e0fa2fe0006a52570ef18c19def4e617c33ce52ef0a6e5fbe318cb0387
Base64.is44960f483bc929874301e2fb54f4337c84641ad12cb6b2639875e26e490664e65da046cf43eafb2ab4a47b5d3eb66637630af5cba841974bfaa4e372dd0453d2
你好5232181bc0d9888f5c9746e410b4740eb461706ba5dacfbc93587cecfc8d068bac7737e92870d6745b11a25e9cd78b55f4ffc706f73cfcae5345f1b53fb8f6b5

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

Надёжнее ли SHA-512, чем SHA-256?

У него больший запас стойкости: стойкость к коллизиям около 256 бит против 128 бит у SHA-256. Но оба алгоритма не взломаны, а полный перебор для них далеко за пределами практических возможностей. Выбирайте SHA-512, если этого требует формат, если он быстрее на вашем оборудовании или если нужен более длинный хеш; в остальных случаях достаточно SHA-256.

Можно ли расшифровать хеш SHA-512?

Нет. Хеш SHA-512 всегда занимает 64 байта, будь на входе одно слово или целый образ диска, поэтому каждому хешу соответствует бесчисленное множество разных входных данных, и декодировать здесь нечего. Хеш можно только сравнить с хешем предполагаемого значения; так сайты поиска по хешам находят распространённые слова и пароли, но непредсказуемые данные — никогда.

Какой длины хеш SHA-512?
64 байта: 128 hex-символов или 88 символов Base64 с == на конце. Такую же длину имеют SHA3-512, BLAKE2b и Whirlpool, поэтому вставьте неизвестный хеш в определитель типа хеша, чтобы узнать, какие из них подходят.
SHA-512 и SHA3-512 — одно и то же?

Нет. SHA3-512 (FIPS 202) основан на Keccak — совершенно другой конструкции — и даёт для тех же данных другой хеш. Эта страница не вычисляет SHA-3.

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

Хеш вычисляется от байтов. Символ вроде é можно сохранить как одну кодовую точку или как e плюс комбинируемый диакритический знак, а пробелы в конце, окончания строк (LF или CRLF) и кодировка (UTF-8, UTF-16, Windows-1252) тоже меняют байты. Выберите в параметре «Кодировка текста» ту кодировку, которую использовала другая система, или вставьте точные байты в hex.