Se debería investigar si tal acción produciría o no una colisión en la práctica, pero puede considerar que un hash MD5 recursivo es solo 1 hash MD5 al final. Solo está ejecutando el hash en 32 bits de datos (la salida de su n - 1) en lugar de en n bits de datos. Por lo tanto, teniendo en cuenta que el algoritmo hash es pseudoaleatorio, en lugar de eso, podría preguntar si las colisiones son más o menos probables en 32 bits de datos frente a un tamaño variable.
Las colisiones deberían ser igualmente improbables en ambos casos, debido al hecho de que siempre son improbables con un buen algoritmo. En cuanto a la capacidad de forzar una colisión, puede derrotar métodos conocidos, pero en principio debería ser el mismo, si se investigó su nuevo algoritmo.
Finalmente, debes considerar cuál es el significado de tu miedo a las colisiones. Como lo entiendo, las colisiones permiten que se ingrese una contraseña en lugar de la contraseña, otra contraseña y la misma. En certificados, significa la capacidad de generar una nueva clave privada para cifrar datos (es decir, la contraseña de su certificado). Por lo tanto, si sus hashes de inicio de sesión se han visto comprometidos, las colisiones podrían permitirles ingresar a su sitio, pero no conocer exactamente las contraseñas de los usuarios. Y ese será principalmente el uso criptográfico de un algoritmo has - para ocultar la contraseña u otros datos de origen. En este caso, es mejor hacer hash varias veces porque aumentará la CPU necesaria para adivinar los hashes de texto sin formato. Puede asumir que uno de sus sitios ha sido pirateado, que toda su información también se ha divulgado, por lo que no es muy necesario que un atacante inicie sesión nuevamente en su sitio con una contraseña colisionada.
La capacidad de autenticar una contraseña u otros datos se reduce por colisiones, pero de nuevo es poco probable en general y también recursivamente improbable, ya que cada una tiene tantas colisiones como en el enésimo hash, que es lo mismo que un hash. El subconjunto de datos (el resultado del hash n - 1) no debe aumentar el riesgo de colisiones con una función de hash pseudoaleatoria. Si no es verdaderamente aleatorio, las colisiones definitivamente aumentan, pero eso no necesariamente hace que sean más fáciles de encontrar o crear, aunque perderá algo de iniquidad. Con un buen hash, esto debe ser mínimo y no debe preocupar la dificultad computacional obtenida por la recursión.