Es bien sabido que se recomienda SHA1 más que MD5 para el hashing, ya que MD5 está prácticamente roto, ya que se han encontrado muchas colisiones. Con el ataque de cumpleaños, es posible obtener una colisión en MD5 con 2 64 complejidad y con 2 80 en SHA1
Se sabe que hay algoritmos que pueden romper ambos en mucho menos tiempo del que se necesita para un ataque de cumpleaños.
Mi pregunta es: ¿MD5 se considera inseguro solo por esta razón que es fácil producir colisiones? Porque mirando a ambos, producir colisiones en SHA1 tampoco es tan difícil. Entonces, ¿qué hace que SHA1 sea mejor?
Actualización 02/2017 - enlace