2010-09-01 14 views
5

Ok. Está claro que se debe almacenar la contraseña hash en la base de datos, pero en el caso de que un usuario no recuerde la contraseña y quiera recuperarla, obviamente el usuario no querrá tener la contraseña hash. Si la contraseña es hash con md5 o adicional como salt y sha1, entonces cómo recuperar la contraseña.PHP desglosando la contraseña

+3

Un hash es como una picadora de carne. Puedes convertir una vaca en carne picada, pero no puedes convertir la carne molida en una vaca. –

Respuesta

17

Solo hay una respuesta simple: No se puede.

Bueno, teóricamente podrías, pero podría llevar muchos años por contraseña si son lo suficientemente largos. Después de todo, ese es el punto de contraseñas hash en primer lugar: hacer que los datos sean inútiles para un atacante (o al menos proteger la contraseña de texto plano del usuario, que es información confidencial)

Haga que el sitio envíe un el correo electrónico "cambie su contraseña" que contiene un enlace a una página donde ese usuario puede cambiar su contraseña. Así es como la mayoría de los sitios profesionales manejan este dilema.

+6

y esta es la razón por la que la fortaleza de la contraseña de la mayoría de los sitios profesionales es equivalente a la fortaleza de la contraseña de la cuenta de correo electrónico que utiliza para suscribirse. –

+0

Eso es cierto :) Sin embargo, todavía es mejor que las preguntas de seguridad. – hb2pencil

+1

http://tools.benramsey.com/md5/ herramienta inversa md5 hash. Sin embargo, las buenas contraseñas probablemente no existan en el db. –

3

La seguridad de hash en lugar de cifrar la contraseña es que no puede revertir un hash. Si puede deshacer la contraseña y darle al usuario su contraseña de texto sin formato, entonces cualquier pirata informático puede revertir la contraseña hash que utiliza para registrarse e iniciar sesión y "descifrarla" para obtener la contraseña del usuario.
Esta es una característica, no un error.

1

hashing en sí significa "no se puede recuperar".

Si un usuario no puede recordar su contraseña, no la necesita con certeza.
Simplemente crea otro al azar y envíalos.
No es un gran problema.

0

sí ... uno puede haber olvidado su contraseña ... la buena práctica al usar la contraseña hash sería hacer que el usuario escriba la dirección de correo electrónico de la cuenta cuya contraseña quiere restablecer, luego el sistema restablecerá la contraseña contraseña de los usuarios con otra contraseña generada. La contraseña hash de MD5 es casi imposible de recuperar la contraseña original del hash

0

Siempre tenga cuidado con los sitios que pueden enviarle la contraseña que utiliza. Eso significa que cualquiera que tenga acceso a la base de datos de contraseñas puede ver fácilmente su contraseña, lo que es especialmente peligroso si reutiliza las contraseñas.

Para restablecer la contraseña, recomiendo usar 'preguntas seguras' con respuestas que también están encriptadas.

Corresponde a todos aquellos que operan sitios web para mantener a sus clientes razonablemente a salvo de los piratas informáticos.

Cuestiones relacionadas