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-бітні операції, він часто швидший за SHA-256 на сучасних 64-бітних процесорах, незважаючи на більш довгий дайджест.

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

Фронтенд-розробник — налагодження підписів Ed25519
Ed25519 внутрішньо використовує SHA-512 для виведення ключа підпису та обчислення дайджестів повідомлень. Генеруйте хеші SHA-512 тестових даних для перевірки проміжних значень під час реалізації або налагодження процесу підпису Ed25519.
Бекенд-інженер — перевірка HMAC-SHA512
Системи вебхуків і схеми автентифікації API (OAuth 1.0a, деякі платіжні шлюзи) використовують HMAC-SHA512 для підписання повідомлень. Обчислюйте еталонні хеші SHA-512 для перевірки реалізації HMAC під час розробки.
DevOps — перевірка артефактів і двійкових файлів
Перевіряйте контрольні суми SHA-512 завантажених двійкових файлів, образів контейнерів або прошивок перед розгортанням у виробництво. Багато дистрибутивів 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 проти SHA-256, SHA-384 та 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 бітами стійкості до відновлення прообразу. Немає відомого методу відновлення вхідних даних швидше, ніж перебір 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, який перетворюється на шістнадцятковий рядок шляхом відображення кожного байта на його двосимвольне шістнадцяткове представлення.
Коли слід використовувати SHA-512 замість SHA-256?
Використовуйте SHA-512, якщо протокол вимагає цього (Ed25519, певні схеми HMAC), якщо потрібно більше 128 бітів стійкості до колізій або якщо ви працюєте на 64-бітному обладнанні і хочете максимальну пропускну здатність. SHA-512 також кращий для контрольних сум цілісності файлів, коли більш довгий дайджест допустимий: ширший хеш-простір знижує ймовірність випадкових колізій у дуже великих наборах даних. Для більшості вебзастосунків, API і TLS SHA-256 залишається стандартним вибором.