Foros del Web » Programando para Internet » PHP »

como desencriptar cadenas de ENCRYPT() de mysql

Estas en el tema de como desencriptar cadenas de ENCRYPT() de mysql en el foro de PHP en Foros del Web. Hola. tengo esta duda que quizá puedan ayudarme. tengo campos de registros encriptados con la función ENCRYPT() de mysql, el campo que manejo es para ...
  #1 (permalink)  
Antiguo 28/05/2002, 19:36
Avatar de TheRock  
Fecha de Ingreso: mayo-2002
Ubicación: Sucre - Bolivia
Mensajes: 189
Antigüedad: 22 años, 5 meses
Puntos: 0
como desencriptar cadenas de ENCRYPT() de mysql

Hola. tengo esta duda que quizá puedan ayudarme.

tengo campos de registros encriptados con la función ENCRYPT() de mysql, el campo que manejo es para el password :( .

Entonces deseo validar a los usuarios que acceden a mi sitio, como podría desencriptar esta cadena, porque notarán que esta función genera una cadena distinta cada vez que realizamos la encriptación del mismo texto, osea usar el metodo comparar cadenas encriptadas no resulta .

Agradesco su ayuda :) .

Adios y saludos
  #2 (permalink)  
Antiguo 28/05/2002, 19:57
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 22 años, 6 meses
Puntos: 0
Re: como desencriptar cadenas de ENCRYPT() de mysql

Bueno me fije en el manual de MySQL y ENCRYPT() como comando de MySQL es lo mismo que crypt() en PHP: El manual de PHP lo describe como "Unix DES encryption method", es el algoritmo que usa unix para encriptar sus passwords, y no es reversible. Lo que pasa es que crypt() es una funcion de 2 argumentos: la cadena a encriptar y una clave generalmente de 2 cifras. Si no colcas la clave, el sistema genera un numero al azar que usa como clave, y de ahi que obtengas diferenetes resultados a partir del mismo string original. En php se escribe crypt($tucadena,$clave). Supongo que sera para algo similar en MySQL. Bueno te diria que salvo que estes muy comodo con MySQL que trates de usar los comandos de PHP para esto en lugar de largas consultas que son mas propensas a fallar.... crypt()a tu pass antes de meterlo en la base! Saludos!

<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>
  #3 (permalink)  
Antiguo 28/05/2002, 20:22
Avatar de TheRock  
Fecha de Ingreso: mayo-2002
Ubicación: Sucre - Bolivia
Mensajes: 189
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: como desencriptar cadenas de ENCRYPT() de mysql

Gracias por contestar.
Mi problema es el siguiente ya existe una aplicación que utiliza una db en mysql y tiene una tabla &quot;usuarios&quot;, osea que yo debo utilizar esa tabla para validar en mi aplicación a esos usuarios que por lo visto en dicha aplicación funciona la perfección, a lo que te referias con usar 2 argumentos de la cadena encriptada es correcto, pero debe haber alguna forma de desencriptarlo, maneja una llave, que si la conozco, entonces a partir de esto se podría de alguna forma desencriptar?, porque entonces como lo hace la otra aplicación para validar al usuario?.

por favor ayudenme, gracias.
  #4 (permalink)  
Antiguo 28/05/2002, 21:10
Avatar de gomo  
Fecha de Ingreso: mayo-2002
Ubicación: [email protected]
Mensajes: 906
Antigüedad: 22 años, 6 meses
Puntos: 0
Re: como desencriptar cadenas de ENCRYPT() de mysql

Como te decia, Unix-DES no es desencriptable, solo por fuerza bruta al parecer. Y no creo que haga esto su api ;). Como te decia, para una misma clave, DES devuelve el mismo codigo encriptado. De modo que encripta el password que submitieron usando DES con LA MISMA CLAVE QUE USA EL API QUE CREA LA CUENTA: los hashs son iguales! Entiendes? Si no terminas de entender escribime un mail desde mi perfil te respondo con gusto, por si no vuelvo a encontrar este post.

<div align="center"><img src="http://cablemodem.fibertel.com.ar/sainztrapaga/images/firma.jpg" width="435" height="70" border="0">
</div>
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 21:53.