Hash

Un hash è una funzione che converte un valore in un altro. L'hashing dei dati è una pratica comune nell'informatica e viene utilizzato per diversi scopi. Tra gli esempi vi sono la crittografia, la compressione, la generazione di checksum e l'indicizzazione dei dati.

L'hashing è particolarmente adatto alla crittografia perché nasconde i dati originali con un altro valore. Una funzione hash può essere utilizzata per generare un valore che può essere decodificato solo cercandolo in una tabella hash. La tabella può essere un array, un database o un'altra struttura dati. Una buona funzione hash crittografica non è invertibile, ovvero non può essere sottoposta a reverse engineering.

Poiché i valori sottoposti ad hashing sono generalmente più piccoli degli originali, è possibile che una funzione hash generi valori hash duplicati. Questi sono noti come "collisioni" e si verificano quando vengono prodotti valori identici a partire da dati di origine diversi. Le collisioni possono essere risolte utilizzando più funzioni hash o creando una tabella di overflow quando vengono rilevati valori hash duplicati. Le collisioni possono essere evitate utilizzando valori hash più grandi.

Diversi tipi di compressione, come la compressione delle immagini con perdita e la compressione multimediale, possono incorporare funzioni hash per ridurre le dimensioni dei file. Eseguendo l'hashing dei dati e trasformandoli in valori più piccoli, i file multimediali possono essere compressi in blocchi più piccoli. Questo tipo di hashing unidirezionale non può essere invertito, ma può produrre un'approssimazione dei dati originali che richiede meno spazio su disco.

Gli hash vengono utilizzati anche per creare checksum, che convalidano l'integrità dei file. Un checksum è un piccolo valore generato in base ai bit contenuti in un file o in un blocco di dati, come un'immagine disco. Quando la funzione checksum viene eseguita su una copia del file, ad esempio un file scaricato da Internet, dovrebbe produrre lo stesso valore hash del file originale. Se il file non produce lo stesso checksum, significa che qualcosa nel file è cambiato.

Infine, gli hash vengono utilizzati per indicizzare i dati. I valori hash possono essere utilizzati per mappare i dati a singoli "bucket" all'interno di una tabella hash. Ogni bucket ha un ID univoco che funge da puntatore ai dati originali. In questo modo si crea un indice significativamente più piccolo dei dati originali, consentendo di cercare e accedere ai valori in modo più efficiente.

Aggiornato April 21, 2018 da Per C.

quizMetti alla prova le tue conoscenze

DNG is a type of what file format?

A
Word processing
0%
B
Digital video
0%
C
Camera RAW
0%
D
Compressed archive
0%
Correct! Incorrect!     View the Camera RAW definition.
More Quizzes →

Il dizionario informatico Tech Terms

La definizione di Hash in questa pagina è una definizione originale scritta dagli autori di TechTerms.com. Se desideri fare riferimento a questa pagina o citare questa definizione, utilizza la barra di citazione verde direttamente sotto la definizione.

Il nostro obiettivo è spiegare la terminologia informatica in modo semplice e comprensibile. Ci impegniamo per l'accuratezza e la semplicità in ogni definizione pubblicata. Se hai commenti o vuoi suggerire un nuovo termine tecnico, contattaci.

La newsletter di Tech Terms

Migliora le tue conoscenze tecniche con la nostra newsletter giornaliera o settimanale! Iscriviti oggi e ricevi nuovi termini e quiz nella tua casella di posta.

Iscriviti alla newsletter gratuita di TechTerms

Con quale frequenza desideri ricevere un'e-mail?

Puoi annullare l'iscrizione o modificare la frequenza in qualsiasi momento tramite i link presenti in ogni e-mail. Domande? Contattaci.

Nota: La newsletter viene inviata in inglese.