Foros del Web » Programando para Internet » PHP »

Desencriptar MD5

Estas en el tema de Desencriptar MD5 en el foro de PHP en Foros del Web. Tengo una duda. Para grabar passwords en MySQL uso MD5 para que estos estén debidamente encriptados y protegidos. Cuando el usuario ingresa su password queda ...
  #1 (permalink)  
Antiguo 07/11/2012, 12:07
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 11 meses
Puntos: 15
Desencriptar MD5

Tengo una duda. Para grabar passwords en MySQL uso MD5 para que estos estén debidamente encriptados y protegidos. Cuando el usuario ingresa su password queda grabado de esta forma.

Tengo un panel de administración donde mi cliente (que administrará la página) debe de ver los passwords de cada usuario, el problema es que quiero que muestre los originales y no la cadena generada por la encriptación. Aquí md5() no funciona, entonces como le hago.

Saludos
  #2 (permalink)  
Antiguo 07/11/2012, 12:16
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Desencriptar MD5

md5 no es encripción, es hash, por tanto es irreversible.

No veo para qué necesitan conocer las contraseñas de la gente, lo ético es que nadie los sepa y si un usuario no recuerda su contraseña se le cree una nueva.
  #3 (permalink)  
Antiguo 07/11/2012, 12:20
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años, 6 meses
Puntos: 38
Respuesta: Desencriptar MD5

"estén debidamente encriptados y protegidos" pues no mi amigo no estaran debidamente bien protegidos con MD5.

MD5() solo encripta. no podras desemcriptar con esa funcion. en teoria solo podras encriptar pero en la realidad hay mucho desemcriptadores de MD5 en la web.
  #4 (permalink)  
Antiguo 07/11/2012, 12:23
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 11 meses
Puntos: 15
Respuesta: Desencriptar MD5

Tienen mucho razón en no mostrar las contraseñas a la gente.

Optaré por eso, saludos
  #5 (permalink)  
Antiguo 07/11/2012, 12:36
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Desencriptar MD5

rolygc: md5 es hash, los llamados desencriptadores en realidad lo que tienen son tablas que hace tiempo se les llamaba tablas rainbow, que son una enorme colección de palabras de diccionario pasadas por md5, cuando tu das un md5, buscan su inverso en esa tabla.

Mucha gente dice que el md5 no es seguro, que sha1 es más seguro. Pero hay que entender una cosa: si alguien puede acceder a tu base de datos lo suficiente como para extraer la información esté en md5, sha1 o lo que sea, tu seguridad falló mucho antes.

La única ventaja que le veo a sha1 en temas de login es que te daría una colisión una entre muchos trillones, por lo que sería más eficaz ante un ataque por fuerza bruta, sin embargo, si vas a permitir que un usuario ponga más de 10 claves distintas sin bloquearlo, algo estarás haciendo mal.
  #6 (permalink)  
Antiguo 07/11/2012, 13:18
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años, 6 meses
Puntos: 38
Respuesta: Desencriptar MD5

Exactamente MD5 entonces no es una buena opcion para encriptar tus contrasenna ya ke pueden devolver el valor a la inversa.

aki tienes como desemcriptar contrasenna guardadas con MD5
http://www.md5decrypter.co.uk/

existen mejores metodos ke puedes usar antes de MD5.

ejemplo
Código PHP:

function hash($alg$data$key)
    {
        
$hash hash_init($algHASH_HMAC$key);
        
hash_update($hash$data);
        return 
hash_final($hash);
    }

echo 
hash('sha1''mi_contrasenna''12jHAas982#!lKJ');

// toma el valor ke te da en pantalla e intenta obtener el valor inverso. 
veras ke tardaras a lo mejor años en ke un algoritmo pueda obtener su valor en lo ke con MD5 se puede obtener en segundos.

En un proyecto con un grupo de programadores, DBA, admin de red, podran acceder a tus bases de datos sin tu aplicacion fallar.

Tu seguridad puede fallar antes y alguien obtener tus datos pero no podran obtener las contrasenna si alguien obtiene el MD5 podra obtener contrasenna y datos. las dos cosas incluso peor.

La mayoria de los usuario guardan mismas contrasennas para el banco el email y todos los sitios, obteniendo email y contrasenna podras obtener un acceso con peores consecuencia a cunetas bancarias etc.

por lo ke seria mas eificiente desde el inicio tratar de evitar estas consecuencias no usando MD5 y tratar de comenzar con mejores metodos.

mira lo ke paso con sony pictures y playstation, ke tienen invertido millones en programadores y administradores y publicaron tarjetas de creditos contrasennas y correos electronicos de muchisimos usuarios.

al final la cuestion es ponerlo un pcoo mas dificil

TOmado de un articulo de la web.

Seguridad

A pesar de haber sido considerado criptográficamente seguro en un principio, ciertas investigaciones han revelado vulnerabilidades que hacen cuestionable el uso futuro del MD5. En agosto de 2004, Xiaoyun Wang, Dengguo Feng, Xuejia Lai y Hongbo Yu anunciaron el descubrimiento de colisiones de hash para MD5. Su ataque se consumó en una hora de cálculo con un clúster IBM P690.
Aunque dicho ataque era analítico, el tamaño del hash (128 bits) es lo suficientemente pequeño como para que resulte vulnerable frente a ataques de «fuerza bruta» tipo «cumpleaños». El proyecto de computación distribuida MD5CRK arrancó en marzo de 2004 con el propósito de demostrar que MD5 es inseguro frente a uno de tales ataques, aunque acabó poco después del aviso de la publicación de la vulnerabilidad del equipo de Wang.
Debido al descubrimiento de métodos sencillos para generar colisiones de hash, muchos investigadores recomiendan su sustitución por algoritmos alternativos tales como SHA-1 o RIPEMD-160.

Última edición por rolygc; 07/11/2012 a las 13:34
  #7 (permalink)  
Antiguo 07/11/2012, 13:41
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Desencriptar MD5

Como ya lo había dicho, md5 colisiona más veces que sha1, lo cual lo hace más debil a fuerza bruta. Pero si tienes un sistema que permita entrar una y otra vez contraseñas diferentes para el mismo usuario o desde la misma ip, tu login es vulnerable.

Luego, supongamos que en vez de md5 usas sha1, y que alguien accede a tu servidor y por tanto tus contraseñas en sha1, ¿comprendes que da lo mismo contrastar un hash de md5 que un hash de sha1 contra una tabla predefinida?

Para ejemplificarlo, supongamos que tengo un diccionario de contraseñas de 100 millones de claves, y las guardo en una tabla en sha1 y en md5. Y supongamos que obtengo una lista de emails y contraseñas en sha1. Pues dará lo mismo buscar su inverso en las tablas en md5 o sha1.

No tomo la seguridad a la ligera, pero repito, si alguien accede a tu base de datos, da igual el algoritmo de hash que uses. La verdadera seguridad deriva en primer lugar de las medidas de tu servidor, luego de que tu aplicación valide ataques de fuerza bruta (e inyecciones, XSRF ,XSS etc) y finalmente si todo falla, que tus usuarios usen contraseñas seguras en vez del 123456, pero esto último es casi imposible, por ello mi opinión de que usar un hash u otro no ayude mucho.
  #8 (permalink)  
Antiguo 07/11/2012, 13:45
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Desencriptar MD5

En el manual oficial para evitar este tipo de problema recomiendan el uso de crypt, para más info les recomiendo esta lectura http://www.php.net/manual/en/faq.pas...words.fasthash
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 07/11/2012, 14:05
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años, 6 meses
Puntos: 38
Respuesta: Desencriptar MD5

"Para ejemplificarlo, supongamos que tengo un diccionario de contraseñas de 100 millones de claves, y las guardo en una tabla en sha1 y en md5. Y supongamos que obtengo una lista de emails y contraseñas en sha1. Pues dará lo mismo buscar su inverso en las tablas en md5 o sha1."

Pues no dará lo mismo si ves la función ke puse más arriba necesitarás el key para invertir el valor de la contraseña con ke fue codificada para un algoritmo tipo sha1, con md5 no hace falta ningún key por eso tendrás ke crear un algoritmo ke tomara muchísimo tiempo en lo le md5 lo harás en segundos invertir su valor

Etiquetas: desencriptar, md5, mysql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:03.