Cos'è un hash? MD5, SHA-256 e quando hai effettivamente bisogno di HMAC
Le funzioni hash trasformano qualsiasi input in un'impronta digitale di lunghezza fissa, ma non tutti gli hash sono creati uguali. Scegliere tra MD5, SHA-256 e HMAC fa la differenza tra un controllo di sicurezza funzionante e uno che fallisce silenziosamente. Questa guida spiega cosa fa ciascuno, quando usarlo e come verificare i tuoi hash direttamente nel tuo browser.
Cos'è una funzione hash?
Una funzione hash accetta qualsiasi quantità di dati (testo, file, password) e produce una stringa di caratteri di lunghezza fissa. Lo stesso input produce sempre lo stesso output, il che rende gli hash utili per la verifica. Cambia anche un solo carattere nell'input e l'hash cambia completamente. Questa proprietà unidirezionale (non è possibile invertire un hash per recuperare i dati originali) è ciò che lo rende utile per la sicurezza.
MD5: veloce ma rotto
MD5 produce un hash a 128 bit e una volta era lo standard per i checksum e la verifica dei file. Oggi è crittograficamente rotto: le collisioni (due input diversi che producono lo stesso hash) sono facili da trovare. MD5 appare ancora nei sistemi legacy e per checksum non legati alla sicurezza, ma mai per l'autenticazione o le password. Usa il Generatore di hash per vedere l'output MD5, ma raggiungi SHA-256 per tutto ciò che conta.
SHA-256: lo standard attuale
SHA-256 (parte della famiglia SHA-2) produce un hash a 256 bit ed è la scelta moderna per il lavoro crittografico. È sufficientemente veloce per la maggior parte delle applicazioni, resistente agli attacchi noti e ampiamente supportato. Vedrai SHA-256 utilizzato nei sistemi blockchain, nelle impronte digitali dei certificati e nell'hashing delle password. IL Generatore di hash supporta SHA-256 come algoritmo predefinito.
HMAC: quando ti serve un segreto
Una semplice funzione hash è deterministica: chiunque può verificare l'hash. UN HMAC (Codice di autenticazione del messaggio basato su hash) si mescola in una chiave segreta, quindi solo qualcuno che conosce la chiave può produrre l'hash corretto. Questo è essenziale per le API: il server e il client condividono un segreto, ciascuno firma i propri messaggi con esso e il destinatario verifica che la firma corrisponda. Ciò dimostra che il messaggio proviene dal mittente dichiarato e non è stato manomesso. IL Generatore HMAC ti consente di testarlo con la tua chiave segreta.
Quando utilizzare ciascun approccio
- Usa semplice
SHA-256per controlli di integrità dei file, hashing delle password (con salt e una funzione lenta come bcrypt) e impronte digitali pubbliche. - Utilizzo
HMACper la firma delle richieste API, la verifica dei webhook e qualsiasi scenario in cui entrambe le parti condividono un segreto. - Saltare
MD5per qualsiasi cosa relativa alla sicurezza. Usalo solo quando interagisci con sistemi legacy che lo richiedono.
I tuoi dati rimangono sul tuo dispositivo
Entrambi i Generatore di hash E Generatore HMAC eseguito interamente nel tuo browser. Il tuo testo non viene mai inviato a un server: viene sottoposto ad hashing localmente sul tuo dispositivo, funziona offline dopo il caricamento della pagina e non richiede account o accesso. Ciò significa che puoi eseguire l'hashing sicuro di informazioni sensibili come le chiavi API per i test senza esporle a Internet.
Bonus: misurare l'entropia
Se stai generando segreti o password, il file Entropia di Shannon la calcolatrice mostra quanta casualità (e quindi sicurezza) c'è in una stringa. Un’entropia più elevata significa che è più difficile da indovinare. Usalo per verificare che i segreti generati siano effettivamente casuali prima di distribuirli.