SHA-512 Hash Generator

Генерирует SHA-512-хеш из любого текста

Входной текст

Работает локально · Безопасно вставлять секреты

SHA-512-хеш

SHA-512-хеш появится здесь…

Что такое хеширование SHA-512?

SHA-512 — криптографическая хеш-функция, определённая в NIST FIPS 180-4 как наибольший элемент семейства SHA-2. Она принимает входные данные произвольной длины и вычисляет фиксированный 512-битный (64-байтовый) дайджест сообщения, отображаемый в виде 128-символьной шестнадцатеричной строки. SHA-512 применяется в цифровых подписях (Ed25519 внутренне опирается на SHA-512), конструкциях HMAC, проверке целостности файлов и криптографических протоколах, которым требуется широкий запас безопасности.

SHA-512 обрабатывает данные блоками по 1024 бита (128 байт), используя 64-битную арифметику слов и 80 раундов сжатия. Восемь начальных значений хеша берутся из дробных частей квадратных корней первых восьми простых чисел, а 80 констант раундов — из кубических корней первых 80 простых чисел. Поскольку SHA-512 использует нативные 64-битные операции, на современных 64-битных процессорах он зачастую быстрее SHA-256, несмотря на больший размер дайджеста.

SHA-384, SHA-512/224 и SHA-512/256 — усечённые варианты SHA-512, разделяющие ту же внутреннюю структуру, но с различными начальными значениями хеша и меньшим числом выходных бит. Если вам нужна максимальная длина дайджеста в семействе SHA-2 или протокол явно требует SHA-512 (например, Ed25519 или определённые схемы получения ключей на основе HMAC), SHA-512 является правильным выбором. Он обеспечивает 256 бит устойчивости к коллизиям — столько же, сколько SHA-3-512, и значительно больше 128-битного порога SHA-256.

Зачем использовать онлайн-генератор SHA-512?

Вычисление SHA-512-хеша обычно требует команды в терминале или нескольких строк кода. Этот браузерный инструмент позволяет мгновенно получать SHA-512-дайджесты без установки программ, переключения на терминал и написания одноразовых скриптов.

Мгновенное вычисление в браузере
Вставьте или введите любой текст и сразу получите полный 128-символьный SHA-512-хеш. Web Crypto API выполняет вычисление нативно без накладных расходов на JavaScript-библиотеки.
🔒
Хеширование с приоритетом конфиденциальности
Введённые данные не покидают ваше устройство. Всё хеширование выполняется локально через встроенный Web Crypto API браузера. Данные не передаются на серверы, не протоколируются и не сохраняются.
📋
Форматы вывода, готовые к копированию
Получите SHA-512-хеш в нижнем или верхнем регистре в hex одним кликом. Удобно для сверки контрольных сумм из пакетных менеджеров, манифестов SBOM или документации по безопасности.
🔍
Без регистрации и установки
Работает в любом современном браузере — Chrome, Firefox, Safari, Edge. Без регистрации, расширений и настройки CLI. Откройте страницу и начните хешировать.

Сценарии использования SHA-512 Hash Generator

Frontend-разработчик — отладка подписей Ed25519
Ed25519 внутренне использует SHA-512 для получения ключа подписи и вычисления дайджестов сообщений. Генерируйте SHA-512-хеши тестовых данных для проверки промежуточных значений при реализации или отладке потоков подписей Ed25519.
Backend-инженер — валидация HMAC-SHA512
Системы вебхуков и схемы API-аутентификации (OAuth 1.0a, некоторые платёжные шлюзы) используют HMAC-SHA512 для подписи сообщений. Вычисляйте эталонные SHA-512-хеши для перекрёстной проверки реализации HMAC в процессе разработки.
DevOps — проверка артефактов и бинарных файлов
Проверяйте SHA-512-контрольные суммы скачанных бинарных файлов, образов контейнеров или прошивок перед развёртыванием в production. Многие дистрибутивы Linux публикуют SHA-512-контрольные суммы вместе с ISO-образами.
QA-инженер — валидация тестовых векторов FIPS 180-4
Сверяйте SHA-512-вывод с тестовыми векторами NIST из программы Cryptographic Algorithm Validation Program (CAVP), чтобы убедиться, что ваша реализация хеширования корректно обрабатывает дополнение и граничные случаи.
Инженер по данным — создание отпечатков составных ключей
Хешируйте составные ключи или большие записи с помощью SHA-512 для создания детерминированных отпечатков при дедупликации в пайплайнах обработки данных. 512-битный вывод минимизирует риск коллизий даже при миллиардах записей.
Студент — изучение лавинного эффекта
Измените один символ во входных данных и наблюдайте, как полностью изменяется весь 128-символьный SHA-512-вывод. Это демонстрирует лавинное свойство, благодаря которому хеш-функции полезны в криптографии.

Сравнение вариантов семейства SHA-2

SHA-512 входит в семейство SHA-2, определённое в FIPS 180-4. В таблице ниже сравниваются варианты SHA-2, разделяющие 64-битную внутреннюю архитектуру SHA-512, а также SHA-256 для справки.

ВариантДайджестДлина в hexБайтыОптимален для
SHA-256256 bits64 hex chars32 bytesTLS certificates, blockchain, JWTs, SRI
SHA-384384 bits96 hex chars48 bytesTLS 1.3 CertificateVerify, CNSA/Suite B
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC, Ed25519, file integrity
SHA-512/224224 bits56 hex chars28 bytesSHA-512 speed on 64-bit CPUs, 224-bit output
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-512 vs SHA-256 vs SHA-384 vs SHA-3-512

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

СвойствоSHA-512SHA-256SHA-384SHA-3-512
Digest size512 bits (128 hex)256 bits (64 hex)384 bits (96 hex)512 bits (128 hex)
Block size1024 bits512 bits1024 bits1600 bits (sponge)
Word size64 bits32 bits64 bitsN/A (sponge)
Rounds80648024
Collision resistance2^256 operations2^128 operations2^192 operations2^256 operations
Security statusSecureSecureSecureSecure
StandardFIPS 180-4FIPS 180-4FIPS 180-4FIPS 202
Web Crypto APIYesYesYesNo
64-bit optimizedYesNo (32-bit words)YesYes
Primary use todayEd25519, HMAC, file checksumsTLS, blockchain, SRITLS 1.3, CNSABackup standard

Как SHA-512 работает изнутри

SHA-512 обрабатывает входные данные через конструкцию Меркле–Дамгарда с блоками по 1024 бита. Он инициализирует восемь 64-битных слов состояния (H0–H7) из дробных частей квадратных корней первых восьми простых чисел. Каждый блок проходит 80 раундов перемешивания с побитовыми операциями (AND, XOR, NOT, правый сдвиг, правый циклический сдвиг) над 64-битными словами в сочетании с 80 константами раундов из кубических корней первых 80 простых чисел.

Input: "hello world"
SHA-512: 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f
989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f
(512 bits = 64 bytes = 128 hex characters)
ШагОписание
PaddingAppend a 1-bit, then zeros until the message length is 896 mod 1024. Append the original length as a 128-bit big-endian integer.
Block splittingDivide the padded message into 1024-bit (128-byte) blocks.
Message scheduleExpand each 16-word (64-bit) block into 80 words using sigma functions with right-rotate and right-shift operations on 64-bit values.
CompressionProcess 80 rounds per block using Ch, Maj, and two Sigma functions with 80 round constants derived from the cube roots of the first 80 primes.
OutputConcatenate the eight 64-bit state words (H0–H7) into a 512-bit (64-byte) digest, rendered as 128 hexadecimal characters.

Расширенный 64-битный размер слова — ключевое отличие от SHA-256. На 64-битных процессорах каждая операция обрабатывает вдвое больше бит за такт, что объясняет, почему SHA-512 зачастую превосходит SHA-256 в тестах производительности, несмотря на 80 раундов вместо 64. Лавинный эффект гарантирует, что инверсия одного входного бита меняет примерно 50% всех 512 выходных бит.

Примеры кода для SHA-512

SHA-512 поддерживается нативно во всех основных языках и средах выполнения. Web Crypto API предоставляет его в браузерах без каких-либо библиотек. Приведённые ниже примеры охватывают типичные паттерны, включая работу с Unicode и хеширование файлов.

JavaScript (Web Crypto API)
// Works in all modern browsers and Node.js 18+
async function sha512(text) {
  const data = new TextEncoder().encode(text)
  const hashBuffer = await crypto.subtle.digest('SHA-512', data)
  const hashArray = Array.from(new Uint8Array(hashBuffer))
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
}

await sha512('hello world')
// → "309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f"

// Node.js (built-in crypto module)
const crypto = require('crypto')
crypto.createHash('sha512').update('hello world').digest('hex')
// → "309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f"
Python
import hashlib

# Basic SHA-512 hash
result = hashlib.sha512(b'hello world').hexdigest()
print(result)
# → "309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee..."

# Hash a string with Unicode (encode to bytes first)
text = 'café ☕'
hashlib.sha512(text.encode('utf-8')).hexdigest()
# → 128-character hex string

# Hash a large file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha512()
    for chunk in iter(lambda: f.read(8192), b''):
        sha.update(chunk)
    print(sha.hexdigest())
Go
package main

import (
    "crypto/sha512"
    "fmt"
)

func main() {
    data := []byte("hello world")
    hash := sha512.Sum512(data)
    fmt.Printf("%x\n", hash)
    // → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f...
}
CLI (Linux / macOS)
# Using sha512sum (Linux) or shasum (macOS)
echo -n "hello world" | sha512sum
# → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee...  -

# macOS
echo -n "hello world" | shasum -a 512
# → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee...  -

# Verify a file checksum
echo "309ecc48...  myfile.bin" | sha512sum -c
# → myfile.bin: OK

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha512
# → SHA2-512(stdin)= 309ecc489c12d6eb4cc40f50c902f2b4...

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

SHA-512 надёжнее SHA-256?
SHA-512 обеспечивает 256 бит устойчивости к коллизиям против 128 бит у SHA-256, исходя из границы атаки по дню рождения, равной половине длины дайджеста. По устойчивости к прообразам SHA-512 предлагает 512 бит против 256 бит. Оба алгоритма считаются безопасными против всех известных атак по состоянию на 2026 год, однако SHA-512 обеспечивает больший запас безопасности. На практике 128-битная устойчивость к коллизиям SHA-256 уже далеко выходит за пределы вычислительно достижимого.
SHA-512 медленнее SHA-256?
На 64-битных процессорах SHA-512 как правило быстрее SHA-256, поскольку оперирует нативными 64-битными словами. На 32-битных или встраиваемых системах SHA-512 медленнее, так как каждая 64-битная операция эмулируется несколькими 32-битными инструкциями. На большинстве современных настольных, серверных и мобильных процессоров (все 64-битные) SHA-512 обеспечивает равную или лучшую пропускную способность по сравнению с SHA-256.
В чём разница между SHA-512 и SHA-512/256?
SHA-512/256 использует тот же внутренний алгоритм, что и SHA-512 (блоки по 1024 бита, 80 раундов, 64-битные слова), но начинает с других начальных значений хеша и усекает вывод до 256 бит. Это даёт скорость SHA-512 на 64-битном оборудовании с размером вывода как у SHA-256. SHA-512/256 также изначально устойчив к атакам на расширение длины, поскольку усечение отбрасывает внутреннее состояние, необходимое злоумышленнику.
Почему Ed25519 использует SHA-512?
Схема подписи Ed25519 использует SHA-512 в двух местах: сначала для получения 256-битного скаляра подписи и префикса одноразового числа из 32-байтового зерна закрытого ключа, затем для хеширования сообщения при подписании. SHA-512 был выбран потому, что даёт 512-битный вывод, который можно разделить на две 256-битные половины, а его 64-битные операции соответствуют 255-битной арифметике кривой Curve25519.
Можно ли обратить SHA-512 для восстановления исходных данных?
Нет. SHA-512 — односторонняя функция с 512-битной устойчивостью к прообразам. Не существует известного способа восстановить входные данные из SHA-512-дайджеста быстрее, чем перебором 2^512 возможностей — числа, превышающего оценочное количество атомов в наблюдаемой вселенной. Однако короткие или предсказуемые данные можно найти с помощью атак по словарю, поэтому пароли следует хешировать специализированными алгоритмами — bcrypt или Argon2, а не сырым SHA-512.
Поддерживается ли SHA-512 в Web Crypto API?
Да. Все современные браузеры реализуют SHA-512 через crypto.subtle.digest('SHA-512', data). Это тот же API, который использует данный инструмент. Он также доступен в Node.js 18+, Deno и Bun. Web Crypto API возвращает ArrayBuffer, который преобразуется в hex-строку путём отображения каждого байта в двузначное шестнадцатеричное представление.
Когда следует использовать SHA-512 вместо SHA-256?
Используйте SHA-512, когда протокол этого требует (Ed25519, определённые схемы HMAC), когда вам нужно более 128 бит устойчивости к коллизиям, или когда вы работаете на 64-битном оборудовании и хотите максимальную пропускную способность. SHA-512 предпочтителен также для контрольных сумм файлов, когда длинный дайджест допустим, поскольку более широкое хеш-пространство снижает вероятность случайных коллизий в очень больших наборах данных. Для большинства веб-приложений, API и TLS SHA-256 остаётся стандартным выбором по умолчанию.