? In crittografia , hashing è una forma di protezione che offusca i dati di input , noti come la chiave . Una funzione hash legge i dati chiave e esegue una serie di funzioni matematiche ad esso per trasformarlo in una breve stringa di caratteri . Le caratteristiche risultanti rappresentano i dati originali senza esporre il contenuto, facendo hashing un metodo sicuro di garantire due insiemi di corrispondenza dei dati senza la loro visualizzazione in formato testo o che richiedono molto spazio . Metodo
Quando un utente inserisce dati in un hasher chiave , il tuttofare esegue una serie di complesse equazioni matematiche sui dati . Queste equazioni variano a seconda del processo di hashing utilizzato , ma non cambiano da un hash per il prossimo. Questo significa che due ingressi identici produrranno uscite identiche . Le uscite hanno tradizionalmente un set , breve lunghezza . La funzione MD5 , per esempio , produce sempre uscite 128 bit . Il più recente funzione MD6 , d'altra parte , in base alle dimensioni di uscita da uno a 512 bit.
Uso in sicurezza
Molte aziende utilizzano l'hashing per proteggere i sistemi di password . Quando un utente crea una password , una funzione di hash la converte in una stringa hash prima di salvare . Questo impedisce che il testo effettivo della password da mai apparire nei dati della società , proteggendolo dai ladri . Quando l'utente successivi ingressi una password di accesso , la stessa funzione di hash corre e produce un'altra uscita . Se entrambe le partite uscite , il sistema sa che l'utente ha dato la password corretta .
Uso in verifica
sistemi di computer utilizzano l'hashing per confermare l' integrità dei file scaricati . Il computer esegue trasmettendo i dati completi del file tramite una funzione hash prima di inviarlo . Quando il computer riceve termina il suo download , esegue anche la stessa operazione di hashing . Se i due hash corrispondono, il computer conosce il file trasferito correttamente senza dover confrontare manualmente ogni bit di dati tra i due. Questo protegge contro gli hacker inseriscono dati errati nonché da errori di trasmissione non intenzionali .
Hashing vs Encryption
hashing non produce un output crittografato . La differenza principale è la reversibilità : un messaggio cifrato può tornare indietro a un messaggio in chiaro con il codice di decrittazione destra. Poiché hashing produce solo una breve stringa di caratteri non importa la dimensione dell'input , un hash non può mai essere invertita . Questo rende dati hash più sicuro, ma limita i suoi usi .