Cos'è un hash e come si calcola? - Android dalla A alla Z

Emanuele Cisotti
Emanuele Cisotti Tech Master
Cos'è un hash e come si calcola? - Android dalla A alla Z

Di quando in quando, vi sarà capitato di imbattervi nel termine hash, ad esempio in merito ai file OTA di aggiornamento per i Nexus da scaricare manualmente, o comunque ad altro tipo di file da scaricare.

Il termine hash si riferisce ad una funzione matematica non iniettiva (e quindi non invertibile) che restituisce una stringa di lunghezza predefinita, che viene usata in vari ambiti, non da ultimo quello crittografico, ad esempio per verificare l'integrità di un certo contenuto, poiché l'esecuzione dell'algoritmo di hash su quest'ultimo fornisce una risposta completamente diversa, anche in seguito ad una lievissima modifica, rispetto a quello eseguito sull'originale.

In questo modo è ad esempio facile verificare l'integrità (o meno) di un file scaricato da internet, confrontando il valore del suo hash (fornito da chi mette a disposizione il file) con quello del file da voi scaricato: se i due valori coincidono, saprete che il file corrisponda all'originale, altrimenti potrebbero esserci state delle alterazioni.

Il metodo più utilizzato, anche se in parte deprecato, è l'MD5 Hash o Checksum: su Windows esistono vari software utili allo scopo, mentre su Mac e Linux è già presente il comando da terminale che potrete usare: basta digitare md5 nomefile.

Schermata 2013-12-16 alle 21.08.04