Generatore di hash SHA-512

Calcola il digest SHA-512 a 512 bit di un testo, di byte esadecimali o di un file, confrontalo con un valore atteso e consulta SHA-384, SHA-256, SHA-1, MD5 e CRC-32 dello stesso input.

Tutti gli algoritmi

Funziona interamente nel tuo browser. Non viene caricato nulla.

Come si usa

  1. Inserisci un testo o byte esadecimali, oppure apri un file per calcolare l’hash del suo contenuto.
  2. In Formato output scegli hex (minuscole) per checksum in stile sha512sum o Base64 per le stringhe di integrità.
  3. Incolla un valore atteso nel campo Confronta con per verificarlo; sono accettati sia l’esadecimale sia il Base64.
  4. Ti serve SHA-384? Selezionalo in Algoritmo o copialo dalla tabella Tutti gli algoritmi.

Che cos’è SHA-512?

SHA-512 è la funzione SHA-2 con l’output più lungo, specificata in FIPS 180-4 e nella RFC 6234. Mentre SHA-256 lavora su parole da 32 bit, SHA-512 usa parole da 64 bit, blocchi da 1024 bit e 80 round, e produce un digest di 512 bit: 128 caratteri esadecimali o 88 caratteri Base64. La sua resistenza alle collisioni, di circa 256 bit, va ben oltre qualsiasi attacco prevedibile. Come ogni hash, SHA-512 è unidirezionale: dal digest non si può risalire all’input.

Poiché usa aritmetica a 64 bit, SHA-512 è spesso più veloce per byte di SHA-256 sui processori a 64 bit privi di istruzioni dedicate a SHA-256. Sulle CPU che invece le hanno, di solito è più rapido SHA-256.

SHA-384, SHA-512/256 e altre versioni troncate

Diversi hash standard non sono altro che SHA-512 eseguito con valori iniziali diversi e troncato a un output più corto:

NomeOutputLunghezza esadecimaleUso tipico
SHA-384384 bit96Suite di cifratura TLS 1.3, Subresource Integrity
SHA-512/256256 bit64Output della dimensione di SHA-256 alla velocità di SHA-512
SHA-512/224224 bit56Usato raramente

Poiché i valori iniziali sono diversi, SHA-512/256 non coincide con i primi 64 caratteri esadecimali di SHA-512. Le varianti troncate resistono anche all’attacco di estensione della lunghezza che colpisce SHA-256 e SHA-512 completi. Questa pagina calcola SHA-384 e SHA-512; per SHA-512/256 usa un altro strumento, per esempio openssl dgst -sha512-256.

Stringhe di integrità in Base64 e hash delle password

Dato che la forma esadecimale è molto lunga, i formati pensati per essere letti dalle macchine riportano spesso SHA-512 in Base64. Subresource Integrity accetta sha256-, sha384- e sha512- seguiti da un digest Base64, e il file package-lock.json di npm memorizza per ogni pacchetto un valore integrity che di solito inizia con sha512-. Apri il file, scegli l’output Base64 e aggiungi il prefisso.

Gli hash delle password Linux che iniziano con $6$ sono sha512crypt: SHA-512 con salt ripetuto migliaia di volte, quindi non coincidono mai con un semplice SHA-512 della password. Un singolo SHA-512 di una password si viola rapidamente con la forza bruta, per quanto lungo sia il digest; memorizza le password con Argon2id, scrypt, bcrypt o PBKDF2-HMAC-SHA512.

SHA-512 dalla riga di comando e nel codice

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

# Digest Base64 per un attributo integrity
openssl dgst -sha512 -binary file.js | openssl base64 -A

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

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

In questa pagina SHA-512 viene calcolato dall’API Web Crypto del tuo browser, e la tabella Tutti gli algoritmi elenca i valori SHA-384, SHA-256, SHA-1, MD5 e CRC dello stesso input.

Esempi

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

Domande frequenti

SHA-512 è più sicuro di SHA-256?

Ha un margine più ampio, circa 256 bit di resistenza alle collisioni contro i 128 bit di SHA-256, ma nessuno dei due è stato violato ed entrambi sono ben oltre la portata della forza bruta. Scegli SHA-512 quando un formato lo richiede, quando è più veloce sul tuo hardware o quando vuoi un digest più lungo; altrimenti SHA-256 è sufficiente.

Un hash SHA-512 si può decifrare?

No. Un digest SHA-512 è sempre di 64 byte, che l’input sia una sola parola o un’intera immagine disco, quindi innumerevoli input diversi condividono ciascun digest e non c’è nulla da decodificare. Un digest si può solo confrontare con l’hash di un tentativo; è così che i siti di ricerca degli hash trovano parole e password comuni, ma mai dati imprevedibili.

Quanto è lungo un hash SHA-512?
64 byte: 128 caratteri esadecimali o 88 caratteri Base64 che terminano con ==. SHA3-512, BLAKE2b e Whirlpool hanno la stessa lunghezza, quindi incolla un digest sconosciuto nell’Identificatore di hash per vedere quali di questi sono compatibili.
SHA-512 è la stessa cosa di SHA3-512?

No. SHA3-512 (FIPS 202) si basa su Keccak, un progetto completamente diverso, e dà un digest diverso per lo stesso input. Questa pagina non calcola SHA-3.

Perché due stringhe che sembrano uguali danno hash diversi?

L’hash si calcola sui byte. Un carattere come é può essere memorizzato come un unico code point oppure come una e seguita da un accento combinante, e anche spazi finali, terminatori di riga (LF o CRLF) e set di caratteri (UTF-8, UTF-16, Windows-1252) cambiano i byte. Scegli in Codifica del testo quella usata dall’altro sistema, oppure incolla i byte esatti in esadecimale.