Cita:
Iniciado por jvargas Nomas para aclarar, MD5 es un método para crear un hash, no para cifrar información. Un valor cifrado con MD5 no se puede regresar a su estado original (antes de aplicar el MD5).
Saludos.
¿¿eeeiiinn?? No habla de encriptar información, habla de cifrar la password, y precisamente en ese caso es bueno utilizar algoritmos que no tengan función inversa. De hecho, si a ti te llega la password encriptada no necesitas saber cual es la password original. Sólo comparas que los dos churros encriptados son iguales. Que es mucho más seguro.
Los algoritmos más usados para temas de passwords son MD5 y SHA-1
Y de hecho, de ahí vienen todos los problemas para el MD5, y es que se trata de una función inyectiva que codifica en una cadena de 32 caracteres, de foma que varias palabras (de hecho infinitas) dan como resultado el mismo churro encriptado, así que un cracker no tendría porque averiguar la passwrod original. Le valdría cualquier palabra que codificase para el mismo hash MD5.
De hecho, para no tener que emplear fuerza bruta, hay ya bases de datos que almacenan el MD5... de forma que los más usados son casi instantáneos obtenerlos...
Quizás te pueda interesar todo el tema relacionado con "colisiones de hash". Desde el punto de vista matemático es muy interesante.
http://es.wikipedia.org/wiki/Colisi%C3%B3n_(hash)
Aún así, es mucho mejor que no usar nada.