Vai al contenuto
TextArray

Cos'è un hash? MD5, SHA-256 e quando hai effettivamente bisogno di HMAC

Blog /

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

  1. Usa semplice SHA-256 per controlli di integrità dei file, hashing delle password (con salt e una funzione lenta come bcrypt) e impronte digitali pubbliche.
  2. Utilizzo HMAC per la firma delle richieste API, la verifica dei webhook e qualsiasi scenario in cui entrambe le parti condividono un segreto.
  3. Saltare MD5 per 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.