Cos'è un algoritmo di hashing?

L'hashing è una trasformazione unidirezionale che converte una password in una stringa di lunghezza fissa. Questo processo rende impossibile recuperare la password originale dall'output hash.

Gli algoritmi più diffusi sono SHA-256, bcrypt e Argon2. Ognuno presenta caratteristiche diverse: velocità, resistenza ai brute force e consumo di memoria.

Perché l'hashing è fondamentale per la sicurezza delle password

  • Protezione in caso di perdita dati: se un database viene violato, gli hash non rivelano le credenziali effettive.
  • Resistenza agli attacchi offline: l'hashing rallenta notevolmente la ricerca di password tramite dizionario.
  • Salting: aggiungere un valore casuale (salt) a ogni password impedisce l'uso di rainbow table.

Incorporare hashing e salting è una best practice indispensabile per qualsiasi sistema che gestisca credenziali utente.