Jak używać
- Wpisz tekst lub bajty hex albo kliknij „Otwórz plik”, aby obliczyć hash jego zawartości.
- W polu „Wyjście jako” wybierz format: hex dla sum kontrolnych w stylu sha512sum, Base64 dla wartości integrity.
- Aby sprawdzić oczekiwaną wartość, wklej ją do pola „Porównaj z”; akceptowane są zarówno hex, jak i Base64.
- 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:
| Nazwa | Wynik | Długość hex | Typowe zastosowanie |
|---|---|---|---|
| SHA-384 | 384 bity | 96 | Zestawy szyfrów TLS 1.3, Subresource Integrity |
| SHA-512/256 | 256 bitów | 64 | Wynik o rozmiarze SHA-256 przy szybkości SHA-512 |
| SHA-512/224 | 224 bity | 56 | Rzadko 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.is | 44960f483bc929874301e2fb54f4337c84641ad12cb6b2639875e26e490664e65da046cf43eafb2ab4a47b5d3eb66637630af5cba841974bfaa4e372dd0453d2 |
你好 | 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?
==. 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.