Skip to content

Generator SHA-512 hash (512-bitowy SHA-2)

Generuj hashe SHA-512 online — 128 znaków hex, szybszy od SHA-256 na procesorach 64-bitowych. Idealny dla długoterminowych archiwów, wyprowadzania kluczy LUKS i HMAC-SHA-512. Tylko przeglądarka, zero przesyłania.

Bez śledzenia Działa w przeglądarce Bezpłatne
Całe hashowanie odbywa się lokalnie w przeglądarce. Żadne dane nie są przesyłane na serwer.
Algorytm
Zweryfikowano poprawność SHA-512 względem wektorów testowych NIST FIPS 180-4; twierdzenia dotyczące wydajności 64-bitowej zwalidowane względem benchmarków Web Crypto API — Zespół inżynierski Go Tools · May 28, 2026

Czym jest SHA-512?

SHA-512 (Secure Hash Algorithm, 512-bitowy) to pełnowymiarowy element rodziny SHA-2, opublikowany przez NIST w 2001 roku w FIPS 180-2. Przyjmuje dowolne dane wejściowe — tekst, plik lub strumień bajtów — i produkuje stały 512-bitowy (128 znaków szesnastkowych) odcisk. SHA-512 dzieli tę samą konstrukcję Merkle-Damgård co jego rodzeństwo, ale działa na 1024-bitowych blokach wejściowych z 80 rundami kompresji i 64-bitową arytmetyką słów, podczas gdy SHA-256 używa 512-bitowych bloków, 64 rund i 32-bitowych słów.

Przewaga wydajności 64-bitowej: Na nowoczesnym sprzęcie x86-64 i ARM64 64-bitowe operacje słów SHA-512 bezpośrednio odpowiadają szerokościom rejestrów CPU. 32-bitowe operacje SHA-256 wymagają natomiast dodatkowych przebiegów do przetworzenia tych samych danych. Praktyczny rezultat: SHA-512 jest zazwyczaj szybszy niż SHA-256 na dowolnym procesorze 64-bitowym — zwykle 600–1000 MB/s vs 400–700 MB/s w przeglądarce. Ta kontrointuicyjna przewaga wydajności sprawia, że SHA-512 jest preferowanym wyborem w wrażliwych na wydajność aplikacjach 64-bitowych, które potrzebują też silniejszej odporności na kolizje.

Odporność na kolizje: SHA-512 zapewnia 256 bitów odporności na kolizje — dwa razy więcej niż 128-bitowa odporność SHA-256. Ten większy margines jest powodem, dla którego archiwa instytucjonalne, długowieczne podpisy cyfrowe i systemy klasy wojskowej preferują SHA-512: dane, które muszą pozostać odporne na manipulacje przez 30–50 lat, korzystają z dodatkowej przestrzeni na przyszłe postępy kryptoanalizy i obliczenia kwantowe.

Kluczowe przypadki użycia: wyprowadzanie klucza szyfrowania dysku LUKS (PBKDF2-SHA-512 jest domyślnym ustawieniem LUKS2), sumy kontrolne integralności systemu plików Apple HFS+, HMAC-SHA-512 w wysokich gwarancjach API i sprzętowych modułach bezpieczeństwa, rozszerzanie kluczy HKDF-SHA-512 i długoterminowe manifesty archiwów dla rządowych i instytucjonalnych dokumentów.

SHA-512/256 — skrócony wariant NIST: FIPS 180-4 (2015) wystandaryzował SHA-512/256 jako oddzielny algorytm: używa 64-bitowej arytmetyki SHA-512 i 1024-bitowych bloków, ale innego wektora inicjalizacji, produkując 256-bitowe wyjście. SHA-512/256 jest odporny na rozszerzenie długości (w odróżnieniu od zwykłego SHA-256) i szybszy od SHA-256 na sprzęcie 64-bitowym. Jest to odrębny algorytm od zwykłego SHA-512; narzędzie oblicza pełny SHA-512 (128 znaków hex).

Narzędzie oblicza SHA-512 całkowicie w przeglądarce przez crypto.subtle.digest('SHA-512', ...). Wyjście jest bitowo identyczne z sha512sum, openssl dgst -sha512 i Python hashlib.sha512().

Powiązane narzędzia: Generator SHA-256 (64 znaki hex, 128-bitowa odporność na kolizje, najszybszy na 32-bitowych), Generator SHA-384 (96 znaków hex, TLS Suite B, odporny na rozszerzenie długości), Generator SHA-3 (konstrukcja gąbki Keccak — zupełnie inny projekt niż SHA-2).

// Hash text using Web Crypto API (SHA-512)
async function sha512(text) {
  const data = new TextEncoder().encode(text);
  const hash = await crypto.subtle.digest('SHA-512', data);
  return Array.from(new Uint8Array(hash))
    .map(b => b.toString(16).padStart(2, '0'))
    .join('');
}

await sha512('Hello, World!');
// → '374d794a95cdcfd8b35993185fef9ba368f160d8daf432d08ba9f1ed1e5abe6cc69291e0fa2fe0006a52570ef18c19def4e617c33ce52ef0a6e5fbe318cb0387'

Przykłady SHA-512

Wyprowadzanie klucza zaszyfrowanego wolumenu LUKS

PBKDF2-SHA-512 passphrase for disk encryption

Linux Unified Key Setup (LUKS) używa PBKDF2-SHA-512 do wyprowadzania głównego klucza wolumenu z hasła dostępowego. Iteracyjne hashowanie (zazwyczaj 100 000–500 000 rund na nowoczesnym sprzęcie) sprawia, że ataki brute-force są kosztowne, podczas gdy 512-bitowe wyjście zapewnia wystarczającą entropię dla AES-256-XTS. SHA-512 jest preferowany nad SHA-256 dla wyprowadzania klucza LUKS, ponieważ większy stan wewnętrzny (bloki 1024-bitowe) i 64-bitowe operacje słów są zgodne z szerokościami rejestrów nowoczesnego CPU. Wklej dowolne hasło dostępowe tutaj, aby sprawdzić surowy odcisk SHA-512 przed iteracją PBKDF2 — przydatne przy audytowaniu niestandardowego potoku wyprowadzania kluczy.

Suma kontrolna systemu plików Apple HFS+

Apple HFS+ catalog node data

System plików HFS+ firmy Apple używa wewnętrznie sum kontrolnych SHA-512 do weryfikacji integralności węzłów B-drzewa katalogu i rekordów dziennika. Gdy macOS wykonuje sprawdzenie systemu plików (fsck_hfs), ponownie oblicza odciski SHA-512 kluczowych struktur na dysku i porównuje je z przechowanymi wartościami. 128-znakowy wynik hex tutaj jest odpowiednikiem tego, co weryfikują procedury hfs_vnop_blockmap i odtwarzania dziennika jądra. Zahashowanie reprezentatywnego ciągu struktury HFS+ pozwala potwierdzić, że implementacja SHA-512 produkuje identyczne wyjście jak ścieżka crypto.subtle jądra macOS — praktyczne krzyżowe sprawdzenie wieloplatformowe.

Integralność długoterminowego archiwum (dokumenty archiwizowane przez NIST)

NIST SP 800-57 Part 1 Rev 5 — Recommendation for Key Management

Instytucje archiwizujące dokumenty przez 20–50 lat (rządowe, prawne, finansowe, naukowe) preferują SHA-512 nad SHA-256, ponieważ jego 256-bitowa odporność na kolizje zapewnia większy margines bezpieczeństwa przeciwko przyszłym postępom w kryptoanalizie i mocy obliczeniowej. Własne archiwum rekomendacji kryptograficznych NIST używa SHA-512 dla manifestów dokumentów. Hashe SHA-512 przechowywane dziś pozostaną ważne daleko poza 2075 rokiem w ramach jakiegokolwiek wiarygodnego modelu zagrożeń w bliskiej przyszłości — w tym komputerów kwantowych, które co najwyżej zmniejszają skuteczny poziom bezpieczeństwa o połowę przez algorytm Grovera, pozostawiając 256-bitową odporność na pre-image nienaruszoną.

Uwierzytelnianie wiadomości HMAC-SHA-512

POST /api/v3/ledger
Content-Type: application/json
{"amount":500000,"from":"acct-A","to":"acct-B"}

HMAC-SHA-512 to najsilniejszy standardowy MAC oparty na kluczu z powszechną obsługą bibliotek (OpenSSL, libsodium, Node.js crypto, Python hashlib). Jest preferowany nad HMAC-SHA-256 w wysokowartościowych API finansowych, sprzętowych modułach bezpieczeństwa (HSM) i systemach, gdzie klucz MAC sam jest wartością 512-bitową (np. wyprowadzoną z 512-bitowego sekretu głównego). 128-znakowy hex digest w nagłówku Authorization sprawia, że manipulacja jest obliczeniowo niewykonalna. Wklej kanoniczny tekst żądania tutaj, aby sprawdzić odcisk SHA-512 przed kluczowaniem przez HMAC — przydatne przy debugowaniu potoku podpisywania lub potwierdzaniu spójności bajtów między implementacjami serwera i klienta.

Jak generować hashe SHA-512

  1. 1

    Wklej tekst lub upuść plik

    Wybierz zakładkę Tekst i wklej dowolny ciąg do obszaru wejściowego — 128-znakowy hash SHA-512 aktualizuje się na bieżąco podczas pisania. W przypadku plików przełącz na zakładkę Plik i przeciągnij dowolny plik do strefy upuszczania; przeglądarka hashuje go lokalnie za pomocą Web Crypto API bez przesyłania. Dla dużych plików (>10 MB) pojawia się wskaźnik postępu. Selektor algorytmu jest już ustawiony na SHA-512.

  2. 2

    Skopiuj 128-znakowy hash

    Kliknij przycisk Kopiuj obok wyjścia hash. Pełny 128-znakowy ciąg hex małymi literami trafia do schowka — gotowy do wklejenia do pliku konfiguracyjnego, manifestu lub wywołania API. Użyj przełącznika Wielkie litery, jeśli system docelowy wymaga wielkich liter hex (np. niektóre narzędzia Windows lub narzędzia certyfikatów).

  3. 3

    Weryfikuj za pomocą zakładki Porównaj

    Przełącz na zakładkę Porównaj i wklej dwa hashe SHA-512 obok siebie. Narzędzie zgłasza zgodność lub niezgodność za pomocą porównania w stałym czasie, które nie ujawnia informacji o czasie. Przydatne do weryfikacji wyjść wyprowadzania kluczy LUKS między systemami, sprawdzania digestów HMAC-SHA-512 lub potwierdzania odcisków długoterminowego archiwum względem przechowywanego manifestu.

Szczegóły techniczne

Algorytm: bloki 1024-bitowe, 80 rund, słowa 64-bitowe
SHA-512 przetwarza dane wejściowe w blokach 1024-bitowych (128-bajtowych), stosując 80 rund operacji bitowych (funkcje Ch, Maj, Σ0, Σ1 używające 64-bitowych rotacji i przesunięć) ze stałymi pochodnymi od pierwiastków sześciennych pierwszych 80 liczb pierwszych. Stan wewnętrzny składa się z ośmiu 64-bitowych słów (512 bitów łącznie). Jest to ta sama struktura co SHA-384 — jedyne różnice między SHA-384 a SHA-512 to wektor inicjalizacji i fakt, że SHA-512 zachowuje wszystkie 512 bitów wyjścia. Implementacja: FIPS 180-4 sekcje 4.2.3 i 6.4.
Wyjście: 512 bitów, 128 znaków hex
Zawsze dokładnie 128 znaków z zakresu [0-9a-f] (małe litery) lub [0-9A-F] (wielkie litery). Wyjście ma stałą długość niezależnie od rozmiaru wejścia. Przy 512 bitach jest to najdłuższe wyjście w rodzinie SHA-2, zapewniające 256 bitów odporności na kolizje — standardowa rekomendacja dla danych, które muszą pozostać odporne na manipulacje poza 2050 rokiem.
Wydajność: szybszy od SHA-256 na sprzęcie 64-bitowym
Na procesorach x86-64 i ARM64 SHA-512 przetwarza 1024-bitowe bloki z natywnymi 64-bitowymi operacjami, osiągając około 600–1000 MB/s w przeglądarce (Web Crypto API) i 1–4 GB/s w natywnych narzędziach ze sprzętowymi rozszerzeniami SHA. SHA-256 przetwarza 512-bitowe bloki z 32-bitowymi operacjami, dając około 400–700 MB/s — wolniejszy mimo mniejszego rozmiaru wyjścia. Na sprzęcie 32-bitowym relacja jest odwrócona: arytmetyka 64-bitowa wymaga emulacji i SHA-256 jest szybszy.
Standardy: FIPS 180-4, NIST SP 800-107, RFC 6234
Wystandaryzowany w FIPS 180-2 (2001), aktualna wersja FIPS 180-4 (2015). Zatwierdzony przez NIST dla wszystkich poziomów siły bezpieczeństwa do 2030 roku i dalej zgodnie z NIST SP 800-131A Rev 2. Przywołany w RFC 6234 (algorytmy SHA w protokołach IETF), RFC 5869 (HKDF) i RFC 2898 (PBKDF2). Zachowany w CNSA Suite dla długoterminowego bezpieczeństwa; NIST IR 8105 zaleca SHA-512 dla aplikacji wymagających marginesów bezpieczeństwa postkwantowego.

Najlepsze praktyki

Preferuj SHA-512, gdy odporność na kolizje powyżej 128 bitów jest wymagana
Do większości codziennych zastosowań — sumy kontrolne plików, obiekty Git, podpisy JWT, odciski certyfikatów TLS — SHA-256 jest standardem. Uaktualnij do SHA-512, gdy: (1) dane muszą pozostać odporne na manipulacje przez 20+ lat, (2) protokół określa 256-bitową siłę bezpieczeństwa, lub (3) jesteś na sprzęcie 64-bitowym i przewaga wydajności SHA-512 usuwa wszelkie bariery przed użyciem silniejszej opcji. Na nowoczesnych serwerach i przeglądarkach różnica wydajności faworyzuje SHA-512, więc rzadko jest powód, by go nie używać dla nowych aplikacji 64-bitowych.
Używaj HMAC-SHA-512 do uwierzytelniania wiadomości opartego na kluczu
Gdy potrzebujesz MAC opartego na kluczu — uwierzytelniania żądań API, podpisywania tokenów lub weryfikacji integralności wiadomości ze wspólnym sekretem — używaj HMAC-SHA-512 zamiast niestandardowej konstrukcji. HMAC owija SHA-512 w sprawdzonej konstrukcji (RFC 2104), która jest bezpieczna nawet przeciwko atakom rozszerzenia długości i słabościom kluczy powiązanych. Unikaj bezpośredniego łączenia klucza z wiadomością (HASH(key || message)) — jest to podatne na ataki rozszerzenia długości na surowym SHA-512. Używaj dobrze przetestowanej biblioteki HMAC: crypto.createHmac('sha512', key) w Node.js, hmac.new(key, msg, 'sha512') w Pythonie lub crypto_auth_hmacsha512() libsodium.
SHA-512/256 dla odporności na rozszerzenie długości z szybkością SHA-2
Jeśli przypadek użycia wymaga odporności na rozszerzenie długości i kompatybilności bibliotek SHA-2 (nie SHA-3), rozważ SHA-512/256 (FIPS 180-4 sekcja 5.3.6) zamiast surowego SHA-256. SHA-512/256 używa szybkiej 64-bitowej arytmetyki SHA-512, ale skraca wyjście do 256 bitów z odrębnym IV, czyniąc go odpornym na rozszerzenie długości. Jest szybszy od SHA-256 na sprzęcie 64-bitowym i zapewnia tę samą 128-bitową odporność na kolizje co SHA-256 z lepszym architektonicznym bezpieczeństwem. Zastrzeżenie: obsługa bibliotek jest mniej powszechna niż SHA-256 lub SHA-512 — zweryfikuj, że docelowe środowisko wykonawcze to implementuje przed zaprojektowaniem wokół niego.
Używaj porównania w stałym czasie przy weryfikacji hashy SHA-512 w kodzie
Przy porównywaniu dwóch hashy SHA-512 w kodzie używaj funkcji równości w stałym czasie: crypto.timingSafeEqual() w Node.js, hmac.compare_digest() w Pythonie, subtle.ConstantTimeCompare() w Go. Naiwna równość ciągów (=== lub ==) ujawnia informacje o czasie — atakujący wykonujący wiele żądań może odtworzyć oczekiwany hash bajt po bajcie w około 1024 porównaniach (128 znaków × 8 bitów). Jest to krytyczna ochrona głęboka dla każdego systemu uwierzytelniania lub weryfikacji MAC. Zakładka Porównaj w tym narzędziu już używa porównania w stałym czasie.

Najczęściej zadawane pytania

Dlaczego używać SHA-512 zamiast SHA-256?
Dwa główne powody: większa odporność na kolizje i lepsza wydajność na sprzęcie 64-bitowym. SHA-512 zapewnia 256 bitów odporności na kolizje wobec 128 bitów SHA-256 — istotne, gdy dane muszą pozostać odporne na manipulacje przez dziesięciolecia lub gdy protokół wymaga maksymalnego marginesu kryptograficznego. Na procesorach 64-bitowych (praktycznie cały nowoczesny sprzęt) SHA-512 jest zazwyczaj szybszy od SHA-256, ponieważ jego 64-bitowa arytmetyka słów pasuje do natywnej szerokości rejestrów CPU; SHA-256 używa 32-bitowych słów i przetwarza mniejsze 512-bitowe bloki, wymagając więcej przebiegów dla tych samych danych wejściowych.
Czy SHA-512 jest szybszy od SHA-256?
Tak — na sprzęcie 64-bitowym. SHA-512 używa 64-bitowej arytmetyki słów i przetwarza 1024-bitowe (128-bajtowe) bloki; SHA-256 używa 32-bitowych słów i 512-bitowych (64-bajtowych) bloków. Na procesorach x86-64 i ARM64 natywne operacje 64-bitowe mają taki sam koszt jak operacje 32-bitowe, więc SHA-512 hashuje mniej więcej dwa razy tyle danych na cykl zegarowy w porównaniu z SHA-256. Typowa przepustowość: SHA-512 przy 600–1000 MB/s vs SHA-256 przy 400–700 MB/s w przeglądarkach z Web Crypto API. Na sprzęcie 32-bitowym relacja jest odwrócona — arytmetyka 64-bitowa wymaga emulacji, co sprawia, że SHA-512 jest wolniejszy. Patrz też: SHA-384 działa z identyczną szybkością do SHA-512 na sprzęcie 64-bitowym.
Jak długi jest hash SHA-512?
Zawsze dokładnie 128 znaków szesnastkowych — 512 bitów podzielonych na 64 bajty, każdy bajt zakodowany jako dwa znaki hex. Wyjście ma stałą długość niezależnie od rozmiaru wejścia: jeden znak i plik 10 GB produkują 128 znaków hex. Dla porównania: SHA-256 produkuje 64 znaki, SHA-384 produkuje 96 znaków, MD5 produkuje 32 znaki, SHA-1 produkuje 40 znaków. 128-znakowa długość to natychmiastowy wizualny sygnał, że hash został wyprodukowany przez SHA-512.
Czy skrócenie SHA-512 (SHA-512/256) jest bezpieczne?
Tak. NIST wystandaryzował SHA-512/256 w FIPS 180-4 jako wariant pierwszej klasy — nie obejście, ale celowy projekt. SHA-512/256 używa innego wektora inicjalizacji niż zwykły SHA-512 (aby zapobiec słabościom kluczy powiązanych) i skraca wyjście do 256 bitów. Skrócenie eliminuje również podatności na rozszerzenie długości obecne w zwykłym SHA-256, ponieważ odrzuconych 256 bitów stanu nie można odzyskać z opublikowanego wyjścia. SHA-512/256 jest zatem ściśle bezpieczniejszy niż SHA-256 przeciwko atakom rozszerzenia długości, oferując tę samą 128-bitową odporność na kolizje — i działa szybciej na sprzęcie 64-bitowym. Uwaga: SHA-512/256 to odrębny algorytm od zwykłego SHA-512; narzędzie oblicza pełny SHA-512 (128 znaków hex), nie wariant skrócony.
Czy powinienem używać SHA-512 do przechowywania haseł?
Nie. SHA-512, jak wszystkie warianty SHA-2, jest zaprojektowany, aby być szybki — a szybkość jest dokładnie tym, co jest złe dla przechowywania haseł. Nowoczesny GPU może obliczać setki milionów hashy SHA-512 na sekundę, co czyni ataki brute-force na wyciekniętą bazę danych praktycznymi. Do haseł używaj celowo wolnego algorytmu: bcrypt (2^cost iteracji), scrypt (odporny na pamięć) lub Argon2id (odporny na pamięć, odporny na czas, zwycięzca Password Hashing Competition). Wiele z tych algorytmów używa HMAC-SHA-512 wewnętrznie jako element składowy, ale wolna iteracja jest tym, co zapewnia bezpieczeństwo. Używaj SHA-512 do integralności danych i uwierzytelniania wiadomości; do haseł używaj bcrypt/scrypt/Argon2id.
Czy SHA-512 ujawnia czas na krótkich danych wejściowych?
Nie bardziej niż jakakolwiek inna funkcja hash. SHA-512 zawsze przetwarza minimum jeden blok 1024-bitowy niezależnie od rozmiaru wejścia (ze względu na wypełnienie Merkle-Damgård), więc czas obliczeń dla bardzo krótkich danych wejściowych jest zasadniczo stały. Zróżnicowanie czasu wynika z liczby pełnych bloków 1024-bitowych wypełnianych przez dane wejściowe — większe dane wejściowe zajmują więcej czasu w bezpośredniej proporcji do rozmiaru, nie w sposób ujawniający zawartość. W przypadku weryfikacji dwóch hashy w kodzie kwestia czasu dotyczy kroku porównania, nie kroku hashowania: zawsze używaj porównania w stałym czasie (crypto.timingSafeEqual() w Node.js, hmac.compare_digest() w Pythonie).
Czy SHA-512 jest odporny na ataki kwantowe?
Częściowo. Algorytm Grovera na komputerze kwantowym może przeszukać nieuporządkowaną bazę danych N elementów w √N krokach, co efektywnie zmniejsza poziom bezpieczeństwa każdej funkcji hash o połowę. 256-bitowa odporność SHA-512 na kolizje zostałaby zredukowana do 128 bitów — nadal bezpieczna w ramach jakiegokolwiek wiarygodnego modelu zagrożeń w bliskiej przyszłości. Dla porównania 128-bitowa odporność SHA-256 na kolizje zostałaby zredukowana do 64 bitów, co jest bardziej niepokojące. Wskazówki postkwantowe NIST (NIST IR 8105) zalecają SHA-512 (lub SHA-3-512) dla aplikacji wymagających długoterminowego bezpieczeństwa przed przeciwnikami z możliwościami kwantowymi. Dla maksymalnego zabezpieczenia na przyszłość rozważ zbadanie SHA-3, który używa innej konstrukcji (gąbka Keccak) odpornej na ataki ukierunkowane na projekt Merkle-Damgård.
Czy moje dane są wysyłane na serwer?
Nie. SHA-512 jest obliczany całkowicie w przeglądarce za pomocą Web Crypto API (crypto.subtle.digest('SHA-512', data)). Otwórz Narzędzia deweloperskie → zakładka Sieć podczas hashowania — zobaczysz zero wychodzących żądań. Pliki upuszczone są odczytywane przez FileReader API i hashowane lokalnie; bajty nigdy nie opuszczają maszyny. Sprawia to, że narzędzie jest bezpieczne do hashowania wrażliwych dokumentów, kluczy prywatnych lub poufnych danych. Ta sama gwarancja prywatności dotyczy generatora SHA-256 i generatora SHA-384.

Powiązane narzędzia

Zobacz wszystkie narzędzia →