Hash

Da Guide@Debianizzati.Org.

Genericamente, una funzione hash (hash function) è una funzione che mappa un dato di dimensione arbitraria e restituisce un dato di dimensione fissata. L'output di questa funzione è il valore hash (hash value) o codice hash (hash code) dell'input; a volte viene detto anche digest o hash (creando di fatto un'ambiguità).

Una buona funzione hash ha le seguenti proprietà:

Una funzione hash è infatti spesso usata per confrontare dati di grande dimensione e distinguere quando essi siano o meno lo stesso dato (per esempio, perchè si vuole verificare l'affidabilità di un dato che si è ricevuto da terzi). Grazie alle prime due proprietà, si può facilmente calcolare il codice hash del dato in proprio possesso e confrontarlo con un codice hash fornitoci insieme al dato stesso: se i due codici hash risultano uguali, il dato fornitoci è ciò che ci aspettavamo. Infatti, grazie alle ultime due proprietà può essere esclusa quasi completamente la possibilità che ci siano state manomissioni.

Si noti che anche se il grado di certezza dato dal confronto tra due codici hash non è totale, per scopi pratici questo è più che sufficiente nella stragrande maggioranza dei casi.

Le funzioni hash più comuni, e che troviamo anche su Debian, sono MD5 e SHA.

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti