No tengo conocimiento de ningún ataque conocido públicamente que use colisión en SHA-1, pero las colisiones MD5 probablemente ya se usaron en 2010 dentro de los ataques. En 2012, se descubrió que un malware del ataque Flame tenía una firma válida de Microsoft, lo cual fue posible debido a un ataque de colisión MD5. Consulte enlace para más detalles.
En cuanto al uso de MD5 o SHA-1 con contraseñas: haga un hash simple con una contraseña trivial con MD5 o SHA-1 y luego busque el hash con google. Ejemplo:
password: "secret"
md5 (hex): "5ebe2294ecd0e0f08eab7690d2a6ee69"
sha1 (hex): "e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4"
El primer hit en Google para el hash MD5 le presenta la contraseña, al igual que el primer golpe al buscar para el hash SHA1 . Por lo tanto, las contraseñas típicas se pueden detectar fácilmente siempre que el hash no tenga sal.
Aparte de eso, incluso SHA-256 es una mala elección para las contraseñas. Este tipo de algoritmos hash están diseñados para ser rápidos, lo que hace que las contraseñas de forzado de datos brutos sean más fáciles. Para obtener más detalles sobre este tema, consulte ¿Qué tan seguros son sha256 + hashes de sal para el almacenamiento de contraseñas .