Generator hashy SHA-512

Oblicz 512-bitowy hash SHA-512 tekstu, bajtów hex lub pliku, porównaj go z oczekiwaną wartością i zobacz SHA-384, SHA-256, SHA-1, MD5 oraz CRC-32 tych samych danych.

Wszystkie algorytmy

Działa w całości w przeglądarce. Nic nie jest wysyłane.

Jak używać

  1. Wpisz tekst lub bajty hex albo kliknij „Otwórz plik”, aby obliczyć hash jego zawartości.
  2. W polu „Wyjście jako” wybierz format: hex dla sum kontrolnych w stylu sha512sum, Base64 dla wartości integrity.
  3. Aby sprawdzić oczekiwaną wartość, wklej ją do pola „Porównaj z”; akceptowane są zarówno hex, jak i Base64.
  4. Potrzebujesz SHA-384? Wybierz go w polu „Algorytm” albo skopiuj z tabeli „Wszystkie algorytmy”.

Czym jest SHA-512?

SHA-512 to funkcja z rodziny SHA-2 o najdłuższym wyniku, opisana w FIPS 180-4 i RFC 6234. Tam, gdzie SHA-256 operuje na słowach 32-bitowych, SHA-512 używa słów 64-bitowych, bloków 1024-bitowych i 80 rund, a w wyniku daje 512-bitowy hash: 128 znaków szesnastkowych lub 88 znaków Base64. Jego odporność na kolizje, wynosząca około 256 bitów, wykracza daleko poza zasięg jakiegokolwiek przewidywalnego ataku, a jak każda funkcja hashująca działa on jednokierunkowo: danych wejściowych nie da się odtworzyć z hasha.

Ponieważ SHA-512 korzysta z arytmetyki 64-bitowej, na procesorach 64-bitowych bez dedykowanych instrukcji SHA-256 często przetwarza dane szybciej (w przeliczeniu na bajt) niż SHA-256. Na procesorach, które mają takie instrukcje, szybszy jest zwykle SHA-256.

SHA-384, SHA-512/256 i inne skrócone warianty

Kilka standardowych funkcji hashujących to SHA-512 uruchomiony z innymi wartościami początkowymi i obcięty do krótszego wyniku:

NazwaWynikDługość hexTypowe zastosowanie
SHA-384384 bity96Zestawy szyfrów TLS 1.3, Subresource Integrity
SHA-512/256256 bitów64Wynik o rozmiarze SHA-256 przy szybkości SHA-512
SHA-512/224224 bity56Rzadko używany

Ponieważ wartości początkowe są inne, SHA-512/256 nie jest równy pierwszym 64 znakom szesnastkowym SHA-512. Skrócone warianty są też odporne na atak przedłużenia wiadomości (length extension), na który podatne są pełne SHA-256 i SHA-512. Ta strona oblicza SHA-384 i SHA-512; do SHA-512/256 użyj innego narzędzia, na przykład openssl dgst -sha512-256.

Wartości integrity w Base64 i hashe haseł

Ponieważ zapis szesnastkowy jest bardzo długi, formaty przeznaczone dla maszyn często przenoszą SHA-512 w Base64. Subresource Integrity akceptuje prefiksy sha256-, sha384- i sha512-, po których następuje hash w Base64, a plik package-lock.json menedżera npm przechowuje dla każdego pakietu wartość integrity, zwykle zaczynającą się od sha512-. Otwórz plik, ustaw „Wyjście jako” na „Base64” i dodaj prefiks.

Hashe haseł w systemie Linux, które zaczynają się od $6$, to sha512crypt: SHA-512 z solą powtarzany tysiące razy, dlatego nigdy nie są równe zwykłemu SHA-512 hasła. Pojedynczy SHA-512 hasła łatwo złamać metodą siłową, bez względu na długość hasha; hasła przechowuj za pomocą Argon2id, scrypt, bcrypt lub PBKDF2-HMAC-SHA512.

SHA-512 w wierszu poleceń i w kodzie

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

# Hash w Base64 dla atrybutu integrity
openssl dgst -sha512 -binary file.js | openssl base64 -A

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

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

Na tej stronie SHA-512 jest obliczany przez interfejs Web Crypto API w przeglądarce, a tabela „Wszystkie algorytmy” pokazuje wartości SHA-384, SHA-256, SHA-1, MD5 i CRC dla tych samych danych.

Przykłady

Wejście (UTF-8)SHA-512
Hello, World!374d794a95cdcfd8b35993185fef9ba368f160d8daf432d08ba9f1ed1e5abe6cc69291e0fa2fe0006a52570ef18c19def4e617c33ce52ef0a6e5fbe318cb0387
Base64.is44960f483bc929874301e2fb54f4337c84641ad12cb6b2639875e26e490664e65da046cf43eafb2ab4a47b5d3eb66637630af5cba841974bfaa4e372dd0453d2
你好5232181bc0d9888f5c9746e410b4740eb461706ba5dacfbc93587cecfc8d068bac7737e92870d6745b11a25e9cd78b55f4ffc706f73cfcae5345f1b53fb8f6b5

Najczęściej zadawane pytania

Czy SHA-512 jest bezpieczniejszy niż SHA-256?

Ma większy zapas bezpieczeństwa – odporność na kolizje około 256 bitów wobec 128 bitów w przypadku SHA-256 – ale oba pozostają niezłamane i daleko poza zasięgiem ataku siłowego. Wybierz SHA-512, gdy wymaga go dany format, gdy na używanym sprzęcie działa szybciej lub gdy potrzebny jest dłuższy hash; w pozostałych przypadkach SHA-256 w zupełności wystarczy.

Czy hash SHA-512 można odszyfrować?

Nie. Hash SHA-512 ma zawsze 64 bajty, niezależnie od tego, czy danymi wejściowymi jest jedno słowo, czy cały obraz dysku, więc każdemu hashowi odpowiada niezliczona liczba różnych danych wejściowych i nie ma czego dekodować. Hash można jedynie porównać z hashem odgadniętej wartości; serwisy wyszukujące hashe znajdują w ten sposób popularne słowa i hasła, ale nigdy nieprzewidywalne dane.

Jak długi jest hash SHA-512?
64 bajty: 128 znaków szesnastkowych lub 88 znaków Base64 zakończonych ==. Taką samą długość mają SHA3-512, BLAKE2b i Whirlpool, dlatego wklej nieznany hash do Identyfikatora hashy, aby sprawdzić, które z nich pasują.
Czy SHA-512 to to samo co SHA3-512?

Nie. SHA3-512 (FIPS 202) opiera się na Keccak, zupełnie innej konstrukcji, i dla tych samych danych daje inny hash. Ta strona nie oblicza SHA-3.

Dlaczego dwa ciągi, które wyglądają tak samo, dają różne hashe?

Hash obejmuje bajty. Znak taki jak é może być zapisany jako jeden punkt kodowy albo jako litera e z łączącym znakiem akcentu, a spacje na końcu, znaki końca wiersza (LF lub CRLF) i zestaw znaków (UTF-8, UTF-16, Windows-1252) także zmieniają bajty. W polu „Kodowanie tekstu” wybierz zestaw znaków używany przez drugi system albo wklej dokładne bajty jako hex.