Cos’è la funzione hash e come funziona

Indice
Ogni volta che scarichi un file, accedi a un conto online o sposti criptovalute, dietro le quinte lavora una funzione hash: trasforma qualsiasi dato in un codice di lunghezza fissa che funziona come un’impronta digitale. Se cambia un solo bit dell’originale, quel codice diventa irriconoscibile.
In questa guida vediamo cos’è una funzione hash, come funziona passo a passo, quali proprietà la rendono affidabile, quali algoritmi si usano oggi e perché è il meccanismo che tiene insieme i blocchi di una blockchain. Vuoi investire in criptovalute dopo aver capito come funzionano blockchain, wallet e transazioni on-chain? Con eToro puoi accedere a Bitcoin, Ethereum e altre crypto da una piattaforma multi-asset, iniziando anche con importi contenuti.
Cos’è la funzione hash
La funzione hash è un algoritmo matematico che prende in ingresso un dato di qualsiasi dimensione e restituisce in uscita una stringa alfanumerica di lunghezza sempre identica. Quella stringa si chiama valore hash o, in termini tecnici, digest.
Il punto non ovvio è che la lunghezza dell’output non dipende in alcun modo da quella dell’input. La parola «hash» e un archivio da 10 GB, passati attraverso SHA-256, producono entrambi 64 caratteri esadecimali.
Il digest viene spesso chiamato fingerprint, impronta digitale, e l’analogia funziona: identifica un dato in modo praticamente univoco senza rivelarne il contenuto. Chi vede solo l’hash osserva una sequenza illeggibile.
Il termine risale a oltre settant’anni fa. Nel gennaio 1953 H. P. Luhn, ingegnere IBM, lo usò in un memorandum interno riprendendo il verbo inglese to hash, «tritare e mescolare»: ci vollero circa dieci anni perché entrasse nell’uso comune.
Hash, hashing e valore hash: tre termini da non confondere
- Funzione hash: l’algoritmo che esegue il calcolo, per esempio SHA-256 o MD5.
- Hashing: il processo di applicare quella funzione a un dato.
- Valore hash (o digest): il risultato, la stringa di lunghezza fissa che esce dal calcolo.
Come funziona una funzione hash passo a passo

Il calcolo non è una scatola nera: segue sempre la stessa sequenza, qualunque sia l’algoritmo scelto.
- Preparazione dell’input. Il dato viene convertito in bit e completato con un padding, perché gli algoritmi lavorano su blocchi di dimensione fissa: 512 bit in SHA-256, 1.024 in SHA-512.
- Divisione in blocchi. La sequenza viene spezzata in blocchi uguali, elaborati uno dopo l’altro.
- Trasformazioni matematiche. Ogni blocco passa attraverso decine di round di rotazioni di bit, permutazioni e somme modulari che rendono l’originale irriconoscibile.
- Combinazione nello stato interno. I risultati parziali si accumulano in una memoria di lavoro. SHA-2 usa una funzione di compressione blocco per blocco; SHA-3 adotta la costruzione a spugna, in cui l’input viene prima «assorbito» e poi «spremuto».
- Output. Resta il digest, sempre della stessa lunghezza.
Il processo è deterministico e a senso unico: veloce da calcolare, impossibile da invertire. È come macinare i chicchi di caffè: dalla polvere non si torna al chicco.
Le proprietà di una funzione hash crittografica
Non tutte le funzioni hash servono per la sicurezza. Quelle crittografiche, le uniche che si usano in blockchain, firme digitali e gestione delle password, devono soddisfare cinque requisiti.
- Determinismo: lo stesso input produce sempre lo stesso digest. È ciò che permette di validare un dato riapplicando il calcolo.
- Unidirezionalità: dal digest non si può ricostruire l’input. Questa proprietà è detta anche resistenza alla preimmagine.
- Resistenza alle collisioni: trovare due input diversi con lo stesso digest deve essere computazionalmente impraticabile.
- Effetto valanga: una minima variazione dell’input cambia il digest per intero.
- Efficienza: il calcolo deve restare rapido anche su file di grandi dimensioni.
L’effetto valanga: un carattere cambia tutto
Basta una maiuscola per ottenere un digest completamente diverso. Questi sono valori SHA-256 reali, calcolati sulle stringhe indicate.
| Input | SHA-256 (64 caratteri) |
|---|---|
funzione hash | 64446a190c169b39e4326ba481a598777b19842d03af5df066f9c95d2b41c89e |
Funzione hash | 7faab94fc5292210baaecab370d2b5a4c865dc85daca9e8aed3e88045fb27b59 |
La canzone dell’estate | d8032d5aa007c4392a76906539386a4eaf7ec23bb05b5b660a63cb9b07420938 |
Le prime due stringhe differiscono per una sola lettera, eppure i digest non hanno nulla in comune. Confrontare due hash non dice nulla su quanto si somiglino gli input di partenza.
Collisioni: perché nessuna funzione hash ne è del tutto priva
Si legge spesso che una funzione hash è «priva di collisioni». Non è esatto, ed è un’imprecisione che vale la pena chiarire.
Gli input possibili sono infiniti, mentre i digest di lunghezza fissa sono in numero finito: per il principio dei cassetti, due input diversi con lo stesso hash esistono per forza. Con SHA-256 i digest possibili sono 2256, un numero di 78 cifre.
La proprietà corretta si chiama quindi resistenza alle collisioni: trovarne una deve costare più risorse di quante siano disponibili. Su SHA-256 nessuno ci è mai riuscito. Su MD5 e SHA-1, invece, ci sono riusciti.
Quali sono i principali algoritmi hash
Ogni algoritmo produce un digest di lunghezza propria e si trova in uno stato di sicurezza diverso. Il più usato oggi è SHA-256, lo standard adottato da Bitcoin.
| Algoritmo | Digest | Caratteri hex | Stato |
|---|---|---|---|
| MD5 | 128 bit | 32 | Rotto: non usare per la sicurezza |
| SHA-1 | 160 bit | 40 | Deprecato: ritiro NIST entro il 2030 |
| SHA-256 (famiglia SHA-2) | 256 bit | 64 | Standard attuale |
| SHA-3 (Keccak) | 256 bit | 64 | Alternativa con struttura diversa |
funzione hash la differenza si vede a occhio: 32 caratteri con MD5, 128 con SHA-512. Accanto a questi algoritmi sopravvive RIPEMD-160, che produce 160 bit e ha oggi un ruolo molto specifico, la generazione degli indirizzi Bitcoin.Perché MD5 e SHA-1 non sono più considerati sicuri

Entrambi sono caduti sotto attacchi di collisione: oggi è possibile costruire due file diversi con lo stesso digest e far quindi passare un documento contraffatto per l’originale.
Nel dicembre 2022 il NIST, l’istituto di standardizzazione statunitense, ha annunciato il ritiro di SHA-1 entro il 31 dicembre 2030, raccomandando la migrazione verso le famiglie SHA-2 e SHA-3. MD5 era già fuori gioco da anni.
Questo non significa che non li incontrerai più. MD5 resta diffuso come checksum per verificare che un download non sia corrotto e, in quel ruolo, dove non c’è un attaccante da cui difendersi, continua a fare il suo lavoro.
A cosa serve la funzione hash: le applicazioni principali
L’hashing risolve sempre lo stesso problema in contesti diversi: verificare qualcosa senza doverlo conservare in chiaro.
Password e salt: come proteggono le credenziali
Un servizio ben progettato non conserva la tua password, ma il suo digest. Quando accedi, ricalcola l’hash di quello che digiti e lo confronta con il valore archiviato.
Da qui una conseguenza pratica: in caso di violazione del database, l’attaccante ottiene digest, non password. Per lo stesso motivo un servizio serio non può inviarti la vecchia password per email, perché non la possiede: può solo permetterti di impostarne una nuova.
A ogni password si aggiunge poi un salt, una stringa casuale diversa per ogni utente, prima di calcolarne l’hash. Serve a evitare che due utenti con la stessa password producano lo stesso digest e a rendere inutili le rainbow table, gli archivi di hash precalcolati.
Verifica dell’integrità dei file e firme digitali
Quando un sito pubblica il valore hash di un file scaricabile ti sta dando lo strumento per controllarlo: se il digest coincide con quello dichiarato, il file è arrivato intatto.
Lo stesso meccanismo regge le firme digitali e i certificati TLS che proteggono le connessioni HTTPS. Non si firma il documento intero, ma il suo digest: molto più corto e altrettanto univoco. Modificare una virgola invalida la firma.
Tabelle hash e gestione dei database
Fuori dalla crittografia l’hashing serve a cercare in fretta. Le tabelle hash usano il digest di una chiave per calcolare direttamente la posizione del dato in memoria, senza scorrere l’intero archivio.
Qui la velocità conta più della resistenza agli attacchi, quindi si usano funzioni non crittografiche e molto più leggere, come MurmurHash o xxHash.
La funzione hash nella blockchain: come collega i blocchi

Qui l’hash smette di essere uno strumento di supporto e diventa la struttura portante. Ogni blocco di una blockchain contiene tre elementi:
- l’hash del blocco precedente,
- i dati delle transazioni che include,
- il proprio hash, calcolato su tutto il resto.
Il primo elemento è quello che crea la catena. Poiché l’hash di ogni blocco entra nel calcolo del successivo, manomettere una transazione vecchia cambia tutti gli hash a valle e la manipolazione si rileva subito.
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f. I dieci zeri iniziali non sono un caso: sono la prova del lavoro svolto per trovarlo.Hash e mining: il ruolo della Proof of Work
La Proof of Work usata da Bitcoin consiste nel cercare un hash di blocco che inizi con un certo numero di zeri. Non esistono scorciatoie: i miner provano miliardi di combinazioni al secondo modificando un valore chiamato nonce, finché il digest non rispetta il bersaglio.
Nel blocco genesi quel valore era 2.083.236.893 (vedi anche come minare Bitcoin).
Chi trova per primo un hash valido aggiunge il blocco e incassa la ricompensa, che si dimezza circa ogni quattro anni con l’halving di Bitcoin: dopo quello di aprile 2024 vale 3,125 BTC per blocco.
Come funziona Ethereum è invece cambiato nel settembre 2022, quando la rete ha abbandonato il mining per la Proof of Stake: l’algoritmo impiegato è Keccak-256, non SHA-256.
Chi valuta lo staking criptovalute sta operando proprio su quel modello, dove si convalida vincolando capitale invece che potenza di calcolo.
Indirizzi dei wallet: SHA-256 e RIPEMD-160
Un indirizzo Bitcoin non è la tua chiave pubblica: è il risultato di due funzioni hash applicate in sequenza a quella chiave, prima SHA-256 e poi RIPEMD-160.
Il doppio passaggio accorcia l’indirizzo e aggiunge uno strato di protezione, perché la chiave pubblica resta nascosta finché non spendi i fondi. Se stai valutando dove custodire le monete, i migliori wallet per la custodia di Bitcoin gestiscono questa derivazione automaticamente.
Hash e smart contract
Anche gli smart contract si appoggiano all’hashing. Ogni contratto ha un digest derivato dal proprio codice: se il codice cambia, cambia l’hash e la versione precedente non è più valida.
Il vantaggio è che permette di rendere pubblico un accordo senza pubblicarne i contenuti sensibili. Nomi, indirizzi e dati dei partecipanti restano fuori dalla catena; sulla catena finisce solo il loro digest, che ne prova esistenza e integrità. Reti come Ethereum, Solana e TRON adottano questo schema.
Come verificare un hash di transazione su blockchain
Quando sposti criptovalute l’hash smette di essere teoria: l’ID della transazione è un hash, comunemente chiamato tx hash. Copiandolo in un explorer pubblico puoi controllare cosa è successo davvero.
I due explorer più usati sono Etherscan per Ethereum e Blockchain.com per Bitcoin. Incollando il tx hash ottieni:
- lo stato della transazione, in attesa o confermata;
- data, ora e blocco in cui è stata registrata;
- gli indirizzi coinvolti e l’importo trasferito;
- la commissione di rete pagata.
Il flusso pratico è sempre lo stesso: esegui il trasferimento, copi il tx hash dalla cronologia dell’exchange, lo incolli nell’explorer e leggi il numero di conferme. È il modo più rapido per distinguere un ritardo di rete da un errore vero, come rete sbagliata, indirizzo errato o fee troppo bassa.
Non tutte le piattaforme rendono il tx hash facile da recuperare, e questo è un criterio concreto da tenere presente quando valuti come scegliere un exchange sicuro: la tracciabilità delle operazioni fa parte della trasparenza del servizio.
Differenza tra hashing e crittografia
Hashing e crittografia si somigliano, perché entrambi rendono un dato illeggibile, ma rispondono a esigenze diverse. La distinzione sta nella reversibilità.
| Caratteristica | Crittografia | Hashing |
|---|---|---|
| Direzionalità | Bidirezionale: i dati si cifrano e si decifrano con una chiave. | Unidirezionale: dal digest non si torna all’originale. |
| Obiettivo | Proteggere la riservatezza durante la trasmissione o l’archiviazione. | Verificare l’integrità e identificare un dato in modo univoco. |
| Output | Dati cifrati, di lunghezza variabile. | Stringa di lunghezza fissa, qualunque sia l’input. |
| Uso comune | Comunicazioni sicure, protezione di dati sensibili. | Verifica dei file, password, transazioni blockchain. |
La regola pratica è semplice: si cifra ciò che deve tornare leggibile, si fa l’hash di ciò che serve soltanto confrontare. Una password si conserva come hash, un messaggio si conserva cifrato.
In sintesi, la funzione hash trasforma qualsiasi dato in un digest di lunghezza fissa, deterministico e non reversibile. Le proprietà che la rendono affidabile sono determinismo, unidirezionalità, resistenza alle collisioni, effetto valanga ed efficienza: SHA-256 è oggi lo standard di riferimento, mentre MD5 e SHA-1 sono fuori uso per scopi di sicurezza.
Sul piano operativo la ricaduta è concreta, perché il tx hash è lo strumento per verificare ogni movimento on-chain e leggerlo in un explorer è il primo controllo da fare quando un trasferimento sembra bloccato. Se stai partendo da zero, conviene capire prima come investire in criptovalute e poi muovere capitale.