francescomargiotta.com

Generatore di Hash

Calcola hash MD5, SHA-1, SHA-256, SHA-384 e SHA-512 di un testo, direttamente nel browser. Nessun dato inviato a un server.

Scrivi del testo per calcolarne gli hash.

Cosa fa il generatore di hash

Una funzione di hash trasforma un testo di qualsiasi lunghezza in una stringa di dimensione fissa, chiamata digest o impronta. La stessa identica voce in ingresso produce sempre lo stesso hash, mentre una minima variazione (anche un solo carattere) genera un risultato completamente diverso. Per questo gli hash sono usati per verificare l'integrità di file e messaggi: se due hash coincidono, i contenuti sono identici. Questo strumento calcola cinque algoritmi diffusi — MD5, SHA-1, SHA-256, SHA-384 e SHA-512 — direttamente nel tuo browser.

SHA-1 e gli algoritmi della famiglia SHA-2 (SHA-256, SHA-384, SHA-512) sono calcolati tramite l'API Web Crypto nativa del browser, un'implementazione veloce e affidabile. MD5 non fa parte di Web Crypto, quindi viene calcolato con una piccola implementazione conforme allo standard RFC 1321. Il testo viene codificato in UTF-8 prima del calcolo, esattamente come fanno gli strumenti da riga di comando, così i risultati combaciano con quelli di md5sum, sha256sum e simili.

Una nota importante sulla sicurezza: MD5 e SHA-1 sono considerati crittograficamente deboli e non vanno usati per scopi di sicurezza (come l'archiviazione di password o le firme digitali), perché sono vulnerabili agli attacchi di collisione. Restano però utili e diffusissimi per controlli di integrità e checksum, dove la sicurezza crittografica non è richiesta. Per esigenze di sicurezza usa SHA-256 o superiore. Tutto il calcolo avviene nel tuo browser: nessun testo viene mai inviato o salvato su un server.

Un uso frequente è verificare l'integrità di un file scaricato: molti progetti pubblicano insieme al file anche il suo hash SHA-256, e ricalcolandolo sul file scaricato puoi accertarti che il download non sia stato corrotto o alterato. Gli hash sono anche alla base del funzionamento di Git (che identifica ogni commit con uno SHA-1, e nelle versioni più recenti con SHA-256), delle chiavi di cache basate sul contenuto (content-addressable storage) e degli header HTTP ETag, usati dai browser per capire se una risorsa è cambiata senza doverla riscaricare per intero.

Un hash non è cifratura: è una funzione a senso unico, non esiste un modo per «decifrare» un hash e tornare al testo originale (a parte tentare tutte le combinazioni possibili, un attacco di forza bruta). Proprio per questo motivo hash generici come SHA-256 non vanno mai usati direttamente per salvare le password: sono progettati per essere velocissimi, il che li rende calcolabili a miliardi al secondo su hardware dedicato, rendendo un attacco a dizionario o forza bruta sulle password troppo economico. Per le password servono funzioni apposite come bcrypt, scrypt o Argon2, deliberatamente lente e costose in memoria. Un'ultima nota pratica: l'hash è espresso in esadecimale (minuscolo per convenzione), quindi se stai confrontando due valori assicurati di ignorare maiuscole/minuscole oppure di normalizzarli prima del confronto.

Domande frequenti

Il testo viene inviato a un server?
No. Tutti gli hash sono calcolati interamente nel tuo browser tramite l'API Web Crypto (per SHA-1 e SHA-2) e una piccola implementazione locale (per MD5). Nessun testo viene trasmesso o salvato.
Posso usare MD5 o SHA-1 per le password?
No. MD5 e SHA-1 sono crittograficamente deboli e non adatti a scopi di sicurezza. Per le password usa algoritmi appositi (come bcrypt o Argon2); per esigenze generiche di sicurezza usa almeno SHA-256.
Perché l'hash è diverso da quello del mio terminale?
Quasi sempre dipende dalla codifica o da un carattere a fine riga. Questo strumento codifica il testo in UTF-8 senza aggiungere un newline finale: assicurati che anche l'input del terminale sia identico (attenzione allo \n aggiunto da echo, usa echo -n).
A cosa serve un hash?
Principalmente a verificare l'integrità: confrontando l'hash di un file scaricato con quello pubblicato dall'autore puoi accertarti che non sia stato alterato o corrotto. Gli hash sono anche alla base di firme digitali, deduplicazione e strutture dati.

Strumenti correlati