Tengo la entrada de la base de datos para la contraseña en formato md5, pero cuando el usuario usa la "Contraseña olvidada", ¿cómo le puedo dar la contraseña deseada?Tengo una contraseña encriptada con md5, ¿cómo darle la contraseña al usuario cuando usa "Olvidé mi contraseña"?
Respuesta
No puede hacer eso desde un hash MD5; ni deberías ser capaz de hacerlo. La recuperación de contraseña debe ser intratable.
El proceso habitual es enviar un token de restablecimiento de contraseña (URL) a su dirección de correo electrónico para que el usuario pueda elegir una nueva contraseña.
gracias @Marcelo Cantos –
No puede hacerlo sin poner la contraseña en la base de datos, lo cual es indeseable, pero puede generarle una nueva contraseña y enviársela. O un enlace donde pueden restablecer su contraseña.
Tiene una probabilidad 1/100 de recuperar esa contraseña (método del diccionario) dada la longitud de la contraseña. No lo recomendaré.
Es mejor generar una nueva contraseña aleatoria y enviarla al correo electrónico del usuario.
Mucho menos que 1/100, en realidad, ese es todo el sentido del hash: simple y rápido en una dirección (datos a hash), complicado y muy lento (como en "casi imposible cuando se hace bien") en la otra dirección (hash a datos). – Piskvor
@Piskvor en realidad esa es solo mi opinión. : P dependería del diccionario utilizado. – Ruel
Si obtiene una tasa de recuperación de 1/100. Tienes un sistema terriblemente inseguro. De hecho, puede probar su propio sistema para las tasas de recuperación usando los diversos codificadores/decodificadores md5 que existen. Dispara a 0% de recuperación. http://www.md5decrypter.com/ – DampeS8N
tiene que enviar un new password
al usuario y luego configurarlo en la base de datos también. de lo contrario, es posible que la contraseña original no se recupere.
Gracias.
No se puede - MD5 es simplemente un hash "de una sola dirección", no un medio de encriptar datos que posteriormente pueden descifrar.
Como tal, la idea general es:
enviar al usuario un correo electrónico a su dirección registrada con un enlace de restablecimiento en ella. (Para demostrar que poseen la dirección). El enlace de reinicio debe contener un hash basado en algún aspecto de sus datos específicos de usuario para que no pueda adivinarse fácilmente, etc. (p. Ej .: tiempo de creación de cuenta)
Cuando el usuario hace clic en el enlace que aterriza en una página de restablecimiento de contraseña que comprueba el hash anterior, genera una nueva contraseña (idealmente una combinación de caracteres superiores/inferiores y algunos numéricos, aunque siempre tiendo a omitir caracteres como '0', ' o ',' O ', etc. en aras de la claridad) y luego envía al usuario la nueva contraseña en un correo electrónico, informándoles que deben cambiar esta contraseña lo antes posible.
, el usuario puede iniciar sesión y acceder al sitio como de costumbre.
Me saltaría el segundo correo electrónico enviando una nueva contraseña. Permita que el usuario cambie la contraseña directamente desde ese enlace. – Danosaure
- 1. Olvidé mi contraseña URL
- 2. OmniAuth + Identity Olvidé mi contraseña
- 3. Guardar contraseña con Md5
- 4. Olvidé la contraseña de SQL Server
- 5. ¿Cómo debo implementar "Olvidé mi contraseña" en ASP.NET MVC?
- 6. VS2012 Perfiles de publicación - Contraseña encriptada
- 7. Problema con TemporaryKey.pfx No tengo la contraseña
- 8. Olvidé mi contraseña para el archivo pfx de VS Project
- 9. Cómo descifrar la contraseña cifrada en md5()?
- 10. Cómo crear una contraseña y confirmación cuando se usa form_for?
- 11. Protección con contraseña PHP: md5 a sha512
- 12. Almacenar una contraseña
- 13. ¿Cómo recibir una notificación cuando un usuario cambia la contraseña o solicita un restablecimiento de contraseña?
- 14. Cómo usar MD5 en javascript para transmitir una contraseña
- 15. mysql está solicitando una contraseña aunque mi contraseña esté vacía
- 16. TeamCity Nombre de usuario/contraseña
- 17. Contraseña de autenticación encriptada en PHP usando Blowfish con Ruby
- 18. Encriptación de la contraseña
- 19. PHP desglosando la contraseña
- 20. Renderizar el formulario Editar contraseña con contraseña
- 21. ¿Cómo evito la exposición de mi contraseña cuando uso RGoogleDocs?
- 22. Oracle: ¿cómo desactivar la contraseña del usuario?
- 23. Idear no validar contraseña/contraseña de confirmación
- 24. configurando usuario y contraseña con git bash
- 25. y contraseña en problema de contraseña - php
- 26. ¿Por qué PDO imprime mi contraseña cuando falla la conexión?
- 27. ¿Es mejor restablecer la contraseña o devolver la contraseña perdida?
- 28. ¿Cómo agregar sal en la contraseña del usuario?
- 29. ¿Suplantar con nombre de usuario y contraseña?
- 30. Qué hacer cuando no puede guardar una contraseña como hash
Oblig. nitpick: la función MD5 es * hash * - se pierde información del resultado, los datos originales no son recuperables. Con * encryption * OTOH, los datos originales pueden recuperarse completamente con la clave correcta. – Piskvor
posible duplicado de [¿Es posible descifrar los hashes md5?] (Http://stackoverflow.com/questions/1240852/is-it-possible-to-decrypt-md5-hashes) –