GNU/Linux >> Linux Esercitazione >  >> Linux

Come la funzione Sha1sum ti dà un hash unico?

Chiuso. Questa domanda è fuori tema. Attualmente non accetta risposte.

Vuoi migliorare questa domanda? Aggiorna la domanda in modo che sia in argomento per Unix e Linux Stack Exchange.

Chiuso 2 anni fa.


Migliora questa domanda

L'ho letto usando sha1sum il comando eseguirà l'algoritmo SHA-1 e ti darà un risultato "unico", ma come può essere?

sha1sum ti dà un hash di 40 caratteri, come questo:

e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e

Questo è lungo 40 caratteri e ha caratteri esadecimali, quindi l'hash può avere al massimo 16 combinazioni.

Ciò dovrebbe significare che, per due file casuali qualsiasi, è una piccola possibilità che la loro somma hash sarebbe esattamente la stessa, giusto?

Risposta accettata:

Un hash SHA-1, come qualsiasi hash, non è unico; infatti sono state trovate delle collisioni (e, soprattutto, realizzate).

La proprietà desiderabile di una funzione hash è che è difficile costruire due file che producono lo stesso hash, non che gli hash prodotti siano unici (come dici tu, una somma SHA-1 ha 160 bit, quindi ci sono solo 2 hash diversi); difficile significa che non puoi trovare una collisione più velocemente della ricerca a forza bruta. Se scegli un file, un altro file scelto casualmente ha una possibilità su 2 di avere lo stesso hash. SHA-1 è considerato insicuro dal 2005; vedrai le probabilità fornite lì come una su 2, grazie all'attacco del compleanno (le probabilità ci sono quelle di trovare due file in collisione in un grande pagliaio, non quelle di trovare un file in collisione per un obiettivo specifico).


Linux
  1. Perché `md5sum` non fornisce lo stesso hash di Internet?

  2. Come trovare l'algoritmo di hashing utilizzato per eseguire l'hashing delle password?

  3. Come puoi vedere l'effettivo hard link di ls?

  4. Come si esegue il gunzip di un file e si conserva il file .gz?

  5. come si imposta la password dell'amministratore su openldap 2.4

Come aggiungere la funzione poll al codice del modulo del kernel?

Untar, ungz, gz, tar:come ricordi tutte le opzioni utili?

Come si specifica la posizione delle librerie in un file binario? (linux)

Come si recupera l'ora corrente su un server?

Come si aumenta lo spessore del bordo di ridimensionamento in Xubuntu 12.04?

Come si usano le espressioni regolari con il comando cp in Linux?