Quali sono hash?

Gli hash sono formule matematiche che prendono una stringa di dati di lunghezza variabile, di solito sotto forma di testo, e convertirlo in, valori numerici a lunghezza fissa più brevi. Hash sono usati frequentemente in banche dati al fine di rendere le ricerche più veloce ed efficiente. Essi sono utilizzati anche in crittografia per garantire che le password non vengano compromesse e di autenticare le firme digitali, tra gli altri usi. Hashes vanno anche con il nome di funzioni hash, e possono essere considerati algoritmi.

Gli hash giocano un ruolo importante nel facilitare ricerche nelle banche dati. In un database composto da nomi, ad esempio, se un utente cerca "John Doe", il computer avrebbe dovuto corrispondere tutti i caratteri nella ricerca a quelli di ogni voce del database. Ogni personaggio nel nome avrebbe 26 diverse possibilità - le lettere dell'alfabeto inglese - mentre la lunghezza variabile delle voci potrebbe anche rallentare la ricerca.

Al contrario, applicando una funzione hash renderebbe la vita del computer molto più facile. Girando ogni stringa di testo in una serie di numeri semplificherebbe la ricerca, perché il computer avrebbe solo dieci possibilità di controllare per ogni personaggio: le cifre "0" a "9" La lunghezza fissa della serie numero aiuta anche il computer faccia il suo lavoro in modo più efficiente.

In un database con una funzione hash applicata, tutte le voci hanno un corrispondente numero univoco. Questo si chiama una chiave hash. In questo caso, quando si effettua una ricerca, il computer si applica prima la funzione di hash per l'ingresso che hai scritto, ad esempio "John Doe". Questo si traduce in un valore numerico, ad esempio "456789." Il computer può quindi rapidamente abbinare questo risultato a chiave hash corrispondente alla voce corretta.

Gli hash funzionano anche come le firme digitali. Ad esempio, un mittente, Robert, vuole inviare un documento a qualcuno e il destinatario, Mary, vuole assicurarsi che il documento non sia stato manomesso durante il viaggio. Il mittente, Robert, deve solo eseguire il documento tramite una funzione hash, che si traduce in un valore numerico. Robert poi crittografa la chiave hash e invia il documento insieme al tasto crittografata.

Maria riceve entrambe le voci e decifra il tasto cancelletto. Lei ora può vedere il valore numerico che ha portato dal documento prima di essere inviato. Per verificare che il documento tra le mani è lo stesso uno, corre il documento attraverso una funzione di hash sul suo computer. Infine, lei paragona entrambi i tasti. Se sono gli stessi, quindi il documento non è stato alterato nel suo cammino verso il destinatario.

Esistono molte funzioni hash diverse, ognuna con le proprie formule matematiche. Per una funzione hash al lavoro, deve ridurre al minimo qualsiasi collisione, che si verifica quando due voci di database hanno la stessa chiave hash. Le funzioni hash devono essere a senso unico. Ciò significa che è possibile produrre una chiave da una voce di database o un documento, ma non il contrario. In altre parole, non si può "reverse-engineer" il documento originale dal tasto cancelletto.

  • Gli hash giocano un ruolo importante nel facilitare ricerche nelle banche dati.