| |||
Hola, MD5 no se puede "desencriptar". Es un algoritmo de una sola direccion. Por eso es tan seguro, porque no se puede "desencriptar" (realmente no encripta, sino que calcula un "hash"). Pero tampoco es necesario para realizar la comparacion. Lo que debes hacer es hallar el md5 del password que ha metido el usuario y comparar el valor obtenido con el de la base de datos. Saludos.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| ||||
Es decir, comparar HASHes :P tu guardas en tu BBDD el Hash del pass y lo comparas con el de tu BBDD jeje pero weno de todas maneras el algoritmo MD5 es vulnerable via FUERZA BRUTA!!!!! por que si mal no recuerdo los pass de Linux normalmente suelen estar encriptados con MD5 y se podian descifrar via fuerza bruta ... pero weno es lo de menos :p
__________________ Usuario registrado de Linux #288725 |
| |||
Pues claro. Con fuerza bruta se puede desencriptar todo. Lo unico malo es el tiempo que se tarda. Aun asi, con fuerza bruta no necesariamente sacas el pass original. Puedes obtener una cadena que genere el mismo hash del pass original. Total, solo probando un maximo 2^128 cadenas (que cada una genera un hash md5 unico), encontrarias el "sinonimo" del pass original. Saludos.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| ||||
Cita: claro, pasa el pass que el user ponga en el formulario, por el hash MD5 y los comparas, si son iguales pues ale, correcto y pa dentro.Mensaje Original por josemi Pero tampoco es necesario para realizar la comparacion. Lo que debes hacer es hallar el md5 del password que ha metido el usuario y comparar el valor obtenido con el de la base de datos. Código PHP: |
| |||
Bueno, siempre y cuando estes seguro que ambos md5 coinciden en las mayusculas/minusculas. Es que me paso que una vez usaba una funcion md5 de PHP y comparaba el valor con el md5 de MySQL del mismo valor y la comparacion con == me fallaba. Y estaba seguro que eran la misma clave. Asi que haciendo la tipica prueba de echo $pass1."=".$pass2; me di cuenta que una estaba en mayusculas y la otra en minusculas. Asi que desde ese momento siempre hago la comparacion con strtolower(): Código PHP: Saludos.
__________________ Josemi Aprendiz de mucho, maestro de poco. |