sai cosa sono le funzioni non biunivoche?

Pensa che un hash di solito ha dimensione fissa di 16byte.
Puoi applicare una funzione di hashing a dati di qualsiasi dimensione....
Immagina di applicare MD5 ad un file di un megabyte, come pensi sia possibile tornare indietro da un hash di 16 byte??
Questo ovviamente implica che ad uno stesso hash corrispondano infinite possibilità iniziali. Ma un'altra proprietà delle funzioni di hashing è che sia estremamente difficile individuare due insiemi di dati che diano origine allo stesso hash.