Me han dicho que es bastante fácil descifrar contraseñas cuando un atacante obtiene una lista de hashes de estas contraseñas. Esto es bastante fácil de comparar con hashes de contraseñas comunes precalculadas, o de fuerza bruta comparadas o atacadas con una lista basada en diccionarios o una lista de arco iris.
Por esta razón, los hashes rápidos como MD5 están en desuso. Mi pregunta es si al aplicar el algoritmo hash muchas veces, uno realmente puede lograr el almacenamiento de contraseñas que es más difícil de descifrar con todos los enfoques mencionados anteriormente, ¿o es solo una ilusión?
Me parece que la respuesta es sí, es más segura. Si almaceno el hash de una contraseña que se ha vuelto a hashear N veces, un atacante tendría que saber cuántos pases de hash hice, o adivinar este número. Tomar N lo suficientemente grande me parece que haría un ataque bastante inviable, mientras que almacenar el hash sería todavía algo rápido (imagina algunas decenas de miles de pases de hash, sería cuestión de segundos, supongo en una CPU)