¿Es "doble hashing" una contraseña menos segura que simplemente hacerlo una vez?
¿El hashing de una contraseña dos veces antes del almacenamiento es más o menos seguro que simplemente hacerlo una vez?
De lo que estoy hablando es de hacer esto:
$hashed_password = hash(hash($plaintext_password));
en lugar de solo esto:
$hashed_password = hash($plaintext_password);
Si es menos seguro, ¿puede proporcionar una buena explicación (o un enlace a una)?
Además, ¿la función hash utilizada hace la diferencia? ¿Hay alguna diferencia si mezclas md5 y sha1 (por ejemplo) en lugar de repetir la misma función hash?
Nota 1: cuando digo "doble hashing", estoy hablando de cambiar una contraseña dos veces en un intento de oscurecerla. No estoy hablando detécnica para resolver colisiones.
Nota 2: Sé que necesito agregar una sal al azar para que sea realmente segura. La pregunta es si el hashing dos veces con el mismo algoritmo ayuda o perjudica al hash.