Come si usa
- Inserisci un testo o byte esadecimali, oppure apri un file per calcolare l’hash del suo contenuto.
- In Formato output scegli hex (minuscole) per checksum in stile sha512sum o Base64 per le stringhe di integrità.
- Incolla un valore atteso nel campo Confronta con per verificarlo; sono accettati sia l’esadecimale sia il Base64.
- 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:
| Nome | Output | Lunghezza esadecimale | Uso tipico |
|---|---|---|---|
| SHA-384 | 384 bit | 96 | Suite di cifratura TLS 1.3, Subresource Integrity |
| SHA-512/256 | 256 bit | 64 | Output della dimensione di SHA-256 alla velocità di SHA-512 |
| SHA-512/224 | 224 bit | 56 | Usato 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.is | 44960f483bc929874301e2fb54f4337c84641ad12cb6b2639875e26e490664e65da046cf43eafb2ab4a47b5d3eb66637630af5cba841974bfaa4e372dd0453d2 |
你好 | 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?
==. 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.