¿Cómo puede haber el mismo valor MD5 para dos cuerdas de longitud diferentes?
-
10-12-2019 - |
Pregunta
Tengo una función MD5 que he confirmado para trabajar bien para archivos y cadenas.Pero cuando lo uso en trozos de tamaño variable de archivos muy grandes, genera valores MD5 que son iguales, pero el tamaño de los trozos es diferente.
Me pregunto si hay una probabilidad de que dos trozos con diferentes longitudes, pero pueden ser con el mismo resultado de contenido en huellas digitales similares.
Solución
Las probabilidades que esto sucede es 1 / (2 ^ 128), ya que MD5 es un hash de 128 bits.Eso significa 1 / (3.4 x 10 ^ 38), por lo que es muy poco probable pero no imposible.
Es más probable, creo que está haciendo algo mal y realmente está calculando el MD5 del mismo texto / archivo cada vez.
Otros consejos
No tienes oportunidad de tener el mismo hash MD5 sin intentar hacerlo.
Verifique aquí para obtener más información sobre la colisión: http://www.mscs.dal.ca / ~ selinger / md5collision /