Este es un sistema defectuoso si está destinado a garantizar que los datos no hayan sido manipulados por un atacante malicioso.
Cualquier atacante que pueda alterar la transmisión del archivo (o el archivo en el sitio FTP), podría haber manipulado de manera similar la transmisión del md5sum (o el almacenamiento del md5sum en el sitio) y cambiarlo a algo que corresponde al valor manipulado. Así que el esquema, incluso en su mejor momento, proporciona poca seguridad. En el mejor de los casos, proporciona una garantía de que el archivo se descargó por completo.
Realmente necesita establecer confianza en la transmisión del md5.
Por supuesto, si obtuvo el md5 de una fuente confiable (p. ej., lo descargó a través de HTTPS desde un sitio de confianza y asumió que HTTPS no se rompió; ese sitio no lo modificó maliciosamente). manipulado. (Mientras md5 sufre ataques de colisión, es posible construir dos archivos diferentes (modificando ambos) de modo que md5 (f1) = md5 (f2), ningún ataque publicado ha demostrado que md5 es vulnerable a ataques de preimagen: si tengo un hash arbitrario h1, genera algún archivo que tendrá ese hash.)