Siempre hay posibilidades de duplicación, pero la mayoría de las veces la probabilidad es bastante baja (pero más alta de lo que piensas, mira la 'paradoja' del cumpleaños)
Hashear dos veces no le dará una gran cantidad de seguridad extra, es la seguridad de hash 1 + seguridad de hash 2.
Para aumentar la seguridad de los hashes de contraseña, debe agregarlos, esto le da a cada contraseña una cadena aleatoria individual para que se agregue a la contraseña cada vez que se haga hash, esto eliminará la amenaza de una tabla precalculada (tabla del arco iris ) revelando las contraseñas.
Como se mencionó en el podcast de security now, no hay nada de malo con las contraseñas de hash varias veces, en realidad se recomienda porque si desea cambiar el hash con el que están cifradas sus contraseñas, no tiene que esperar a que la contraseña sea ingresado nuevamente para hacer hash con el hash nuevo, puedes hacer hash con todos los hashes antiguos con el hash nuevo. Esto le da a todos la seguridad del nuevo hash inmediatamente.
También me gustaría señalar que MD5 y SHA-2 son malas funciones de hash para las contraseñas. Las funciones de hash de las contraseñas deben ser "lentas" y MD5 fue diseñado para ser rápido (no sé acerca de SHA-2), debes usar funciones como Argon2, bcrypt, scrypt o PBKDF2 que son realmente difíciles de acelerar.