Uso MD5 hash para identifying files with unknown origin. No hay atacante aquí, así que no me importa si el MD5 se ha roto y uno puede generar colisiones intencionalmente.¿Puedo utilizar parte del hash MD5 para la identificación de datos?
Mi problema es que necesito proporcionar el registro para que los diferentes problemas sean diagnosticados más fácilmente. Si registro cada hash como una cadena hexadecimal que es demasiado larga, inconveniente y se ve fea, me gustaría acortar la cadena hash.
Ahora sé que solo toma una pequeña parte de un GUID is a very bad idea - Los GUID están diseñados para ser únicos, pero parte de ellos no lo son.
Es lo mismo para MD5 - ¿Puedo decir, por ejemplo, los primeros 4 bytes de MD5 y supongo que solo tengo una probabilidad de colisión mayor debido a la cantidad reducida de bytes en comparación con el hash original?
posible duplicado de http://stackoverflow.com/questions/860405/are-the-first-32-bits-of-an-md5-hash-just-as-random-as-any-other-substring –
Me pregunto si obtener los primeros 4 bytes es mejor que usar el CRC32 del hash md5. –
Sí, porque se supone que los primeros 32 bits en MD5 se distribuyen de forma perfectamente aleatoria, por lo que no se puede mejorar la distribución. –