Si tratta di un sistema imperfetto se intende garantire che i dati non siano stati manomessi da un utente malintenzionato.
Qualsiasi utente malintenzionato in grado di manomettere la trasmissione del file (o il file sul sito FTP), potrebbe aver manomesso in modo simile la trasmissione di md5sum (o la memorizzazione di md5sum sul sito) e averlo modificato in qualcosa quello corrisponde al valore manomesso. Quindi lo schema anche nel suo migliore fornisce poca sicurezza. Nella migliore delle ipotesi garantisce che il file è stato completamente scaricato.
In realtà è necessario stabilire fiducia nella trasmissione di md5.
Concesso se si è ottenuto l'md5 da un'origine attendibile (ad esempio, scaricato su HTTPS dal sito attendibile e si presuppone che HTTPS non sia danneggiato, tale sito non ha alterato maliziosamente) rispetto a sì questo potrebbe indicare che i dati non erano manomesso (Mentre md5 subisce attacchi di collisione - è possibile costruire due file diversi (modificando entrambi) in modo tale che md5 (f1) = md5 (f2), nessun attacco pubblicato ha mostrato che md5 è vulnerabile agli attacchi di pre-immagine - se ho un hash arbitrario h1, genera un file che avrà quell'hash.)