¿Cómo sabe un pirata informático cuántas veces se hasheado una contraseña? De la misma manera que tú.
El objetivo del hash de una contraseña es hacer que sea imposible (en la práctica es muy difícil) determinar la contraseña, incluso con acceso completo a todos los datos .
El otro requisito para el hashing es que el servidor debe poder determinar si una contraseña ingresada es correcta. Esto significa que en algún momento durante el proceso de inicio de sesión, el servidor debe tener acceso a la fórmula completa para el hashing de una contraseña.
El propósito de variar el número de hashes es principalmente reducir los ataques de fuerza bruta y aumentar el espacio de búsqueda de las tablas de arco iris, y esto funciona sin ningún tipo de secreto . Es por eso que la cantidad de rondas normalmente se almacena directamente en la base de datos con el hash, como en la respuesta de SilverlightFox.
Hay soluciones que almacenan el número de rondas por separado e intentan mantenerlo en secreto, y pueden agregar una capa adicional de protección. Pero al evaluar el sistema de hash, debemos asumir que el atacante sabe todo lo que sabemos .
Después de todo, si hubiera un lugar para almacenar la cantidad de rondas garantizada para no comprometerse, podríamos almacenar las contraseñas allí y no molestarnos en nada con el hashing.