Claves encriptadas con MD5

Quiero encriptar las claves, pensaba utilizar MD5, pero segun estava investigando con MD5, ya no se puede digamos desencriptar las claves, y que tal...

La FAQ Claves encriptadas con MD5 tiene

Pertenece a la categoría:

Pregunta
Quiero encriptar las claves, pensaba utilizar MD5, pero segun estava investigando con MD5, ya no se puede digamos desencriptar las claves, y que tal si a algun usuario se le olvida la clave como la recupera, nose si existe algun programa o funcion que permita encriptar o desencriptar para tener mas seguridad con este tema.


Respuesta de Eric Valera Miller
Para MD5 es muy complicado desencriptar. En todo caso puedes usar base64_encode(password) y luego lo desencriptas con base64_decode(password_encriptado) pero mejor hazlo con md5 por un tema de seguridad.

Imaginate que usas siempre la misma contraseña para varios servicios (tu correo, el programa para controlar tu pc remotamente, la base de datos, etc), y un falso usuario mal intencionado recupera tu contraseña desde tu programa. Podría probarla en otros servicios y así tendrías problemas sin querer y por buena gente. Mejor no le devuelves la contraseña verdadera sino que usas otro algoritmo y se la cambias por una genérica. Algo como “Cct3viP” y que con eso se logee y que cambie la contraseña a la que quiera.

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios
Fueron enviados 6 comentarios a la faq
3 comentarios no revisados
3 comentarios revisados:
Por: joseluis
15/3/07
exacto, es mejor no desencripta el password ya encriptado, mejor es darle la opcion al usuario d q si olvida su clave genere una nueva para el y se la envie a su email, obviamente una cadena randomica y secreta, solo la sabria el usaurio q la mando a generar
Por: MoRDi
15/3/07
El hecho de que el algoritmo de encriptacion MD5 sea indescriptable es la clave de su seguridad, piensa que al enviar una clave por internet, esta puede ser facilmente capturada, si alguien toma un paquete con la clave, tanto sin encriptacion, como con una encriptacion insegura, estamos arriesgando la seguridad de nuestro sitio. La utilidad del MD5 es la siguiente:

El cliente se logea, y mediante javascript se encripta en MD5 su pass q es enviada.
En el servidor se recive el hast md5, una cadena encriptada de 32 caracteres, y se compara con el hast md5 que ya teniamos previamente (nunca se almacena la clave, si no la clave encriptada)
En el caso de que el cliente pierda la clave, mediante un mecanismo de autentificacion (pregunta, fecha de nacimiento, correo electronico... ) se le reenvia una clave aleatoria nueva, y se sustituye en la base de datos su clave anterior por el hast de la nueva clave.
Por: Javier
15/3/07
Aunque el término encriptar es ampliamente utilizado, el correcto es cifrar. Dicho esto, MD5 es una función resumen de un único sentido, al igual que SHA1 o SHA256, de forma que de la password se puede obtener el hashmd5 pero del md5 no se puede obtener la password.
El una forma correcta de almacenar "passwords", aunque complica un poco la verificación de la password. Una vez introducida por el usuario se calcula la función md5 y se compara con la almacenada.
En caso de pérdida es necesario generar una nueva.
No recomiendo codificar en base 64 pues una vez capturada es demasiado obvio decodificarla (similar a convertir una cadena ascii a hexadecimal o viceversa)

Volver al árbol de categoríasVolver al árbol de categorías
Alojados en el grupo