Vai al contenuto principale
GuidaBuone praticheIntermedio

Crittografia, hashing e HMAC: capire le differenze

Scopri quando usare crittografia, hashing, HMAC o PBKDF2 per riservatezza, integrità, autenticazione e password.

Pubblicato 23 settembre 2026Lettura : 2 minDi Yann Bastien
Mostra indice
  1. La crittografia protegge la riservatezza
  2. L’hashing crea un’impronta
  3. HMAC combina hash e segreto
  4. PBKDF2 è più di un singolo hash di password
  5. Quale meccanismo usare?
  6. Errori comuni

Crittografia, hashing e HMAC usano funzioni crittografiche, ma risolvono problemi diversi. La prima domanda è: che cosa devi proteggere o verificare?

  • usa la crittografia quando un’informazione deve restare segreta e poi essere recuperata;
  • usa l’hashing per creare un’impronta riproducibile;
  • usa HMAC per autenticare un messaggio con un segreto condiviso;
  • usa una funzione di derivazione come PBKDF2 per derivare un valore da una password.

La crittografia protegge la riservatezza

La crittografia trasforma dati leggibili in testo cifrato usando una chiave. Con la chiave e i parametri corretti, l’operazione è reversibile.

AES è un algoritmo di crittografia simmetrica. Lo strumento AES permette di esplorare questo modello.

La crittografia è adatta quando serve recuperare il valore originale. Un hash non la sostituisce perché non è progettato per essere decifrato.

L’hashing crea un’impronta

Una funzione hash trasforma un input in un digest di dimensione fissa. Lo stesso input con lo stesso algoritmo produce lo stesso risultato.

Il generatore di hash e lo strumento di confronto coprono questi casi d’uso.

Un hash da solo non dimostra che il digest sia stato prodotto da una parte autorizzata. Chi può sostituire dati e hash può ricalcolare entrambi.

HMAC combina hash e segreto

HMAC usa una funzione hash insieme a una chiave segreta. Le parti che condividono il segreto possono calcolare e verificare un codice di autenticazione.

Il generatore e verificatore HMAC mostra la differenza.

HMAC non nasconde il messaggio. Protegge integrità e autenticità, non riservatezza.

PBKDF2 è più di un singolo hash di password

Le funzioni hash generiche sono volutamente rapide, rendendo economici molti tentativi di password.

PBKDF2 applica ripetutamente una funzione pseudocasuale con salt e numero di iterazioni. Lo strumento PBKDF2 mostra il ruolo di password, salt, iterazioni e lunghezza dell’output.

Il salt non è una password aggiuntiva e può essere conservato con il valore derivato.

Quale meccanismo usare?

Esigenza Meccanismo Reversibile? Segreto richiesto?
Nascondere dati e recuperarli AES Sì Sì
Produrre un’impronta Hash No No
Autenticare un messaggio con segreto condiviso HMAC No Sì
Derivare un valore da una password PBKDF2 No Password

I meccanismi possono convivere nello stesso sistema.

Errori comuni

Codifica non significa crittografia. Base64 non offre riservatezza.

Hashing non significa crittografia. Un digest non è testo cifrato.

HMAC non nasconde il messaggio. Lo autentica usando un segreto.

Le password normalmente non dovrebbero essere archiviate come dati decifrabili.

Per il contesto più ampio, consulta Sicurezza web: protezioni essenziali.

Questo articolo ti è stato utile?