Cita:
Iniciado por masterpuppet
Solo con MD5 o SHA1 la protección seria algo débil, quedaría expuesto a un ataque a través de rainbow tables, seria mejor un doble hash + salt, algo así:
Y habría que tener en cuenta también la ubicacion del servidor de bbdd, si esta en otro servidor y la conexión no es segura se podría obtener el hash, en esta caso seria mejor buscar el usuario y luego comparar el password.
Saludos.
Te equivocas.
Lo del salt es completamente correcto. Un MD5 o un SHA1 (podemos extenderlo a cualquier algoritmo) no es realmente seguro si no se emplea un salt pseudo-aleatorio que permita modificar el contenido de la contraseña, evitando de una forma más eficaz posibles ataques por fuerza bruta (que funcionan muy bien con MD5, dado que es demasiado utlizado).
Pero lo que no es correcto es decir que lo mejor es hacer md5(sha1(.......)))))))). Eso es incorrecto. ¿Porqué? Pues porque las propiedades matemáticas que hacen que esos algoritmos tengan pocas colisiones hash cercanas (dado que colisiones hay siempre infinitas) se pierden al combinarse, por lo que la posibilidad de ataques por fuerza bruta es mucho mayor.
Un saludo!