Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

como consulto una clave codificada con OLD_PASSWORD()?

Estas en el tema de como consulto una clave codificada con OLD_PASSWORD()? en el foro de Bases de Datos General en Foros del Web. Que tal haber si aluien me puede ayudar. hice una base de datos, donde inclui usuario y clave, esta ultima le puse que la encriptara ...
  #1 (permalink)  
Antiguo 26/11/2008, 22:55
 
Fecha de Ingreso: marzo-2008
Mensajes: 30
Antigüedad: 16 años, 1 mes
Puntos: 0
como consulto una clave codificada con OLD_PASSWORD()?

Que tal haber si aluien me puede ayudar.

hice una base de datos, donde inclui usuario y clave, esta ultima le puse que la encriptara con OLD_PASSWORD(). todo esta bien hasta aqui.

El problema es que me gustaria hacer un reporte de todos los usuarios con su clave, se como se hacen los reportes. pero la clave me la da encritada, com debo de hacer la consulta?

esto es lo que hago:

#############
$resultado= mysql_query("SELECT usuario, clave FROM tabla1 ");

//Make a bucle to recolect the data on new array
while ($registro = mysql_fetch_row($resultado)){
echo "<p>" . $registro[0];
echo $registro[1] . "</p>";
}

##############

Gracias.
  #2 (permalink)  
Antiguo 27/11/2008, 04:11
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: como consulto una clave codificada con OLD_PASSWORD()?

Las claves de usuario, sea con PASSWORD() como con OLD_PASSWORD() son de una sola dirección. Una vez encriptada, no hay funciones en MySQL que la puedan desencriptar.
Por esa razón es recomendable guardar las claves encriptadas con otros métodos en una tabla propia. Para eso yo suelo usar AES_ENCRYPT() y AES_DECRYPT().
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/11/2008, 11:41
 
Fecha de Ingreso: marzo-2008
Mensajes: 30
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: como consulto una clave codificada con OLD_PASSWORD()?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Las claves de usuario, sea con PASSWORD() como con OLD_PASSWORD() son de una sola dirección. Una vez encriptada, no hay funciones en MySQL que la puedan desencriptar.
Por esa razón es recomendable guardar las claves encriptadas con otros métodos en una tabla propia. Para eso yo suelo usar AES_ENCRYPT() y AES_DECRYPT().
Muchas gracias, por tu rapida respuesta.

Soy muy novato en esto de la programacion y todavia no entiendo muchas cosas, solo he leido un poco al respecto y estoy haciendo pruebas. si entiendo que puedo encriptar y desencriptar con diferentes funciones de mysql, pero mi pregunta es si utilizo la de OLD_PASSWORD(), como le hago para leerla?

gracias.
  #4 (permalink)  
Antiguo 27/11/2008, 16:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: como consulto una clave codificada con OLD_PASSWORD()?

Las claves de usuario, sea con PASSWORD() como con OLD_PASSWORD() son de una sola dirección. Una vez encriptada, no hay funciones en MySQL que la puedan desencriptar.
Traducción: Una vez encriptadas, no hay forma de recuperar el string original, no importa que hagas, a menos que seas capaz de generar un algoritmo capaz de romper la clave de encriptación de 128 bits que tiene la que usa MySQL...
Para darte un ejemplo, si quieres encriptar la palabra "root" tus resultados serán:
Cita:
PASSWORD(): *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
OLD_PASSWORD: 67457e226a1a15bd
Ahora bien, si lees la tabla USER, encontrarás esos strings. No las claves. ¿Se entiende?
Supongamos que encuentras esto:
Cita:
*B22C45ACDDE9E0292A04BD75767938A955E93D13
o esto:
Cita:
*1799AB5202FE2E9958365F9B3ECBBF53657254C7
¿Cómo haces para saber qué significan?

El tema aquí, es que mySQL no tiene ninguna función que te permita transformar esto:
Cita:
*B22C45ACDDE9E0292A04BD75767938A955E93D13
en esto:
Cita:
root
No la hay, porque no es seguro que los usuarios cuenten con ella. La podría usar cualquiera para acceder a lo que no debe.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 28/11/2008, 00:30
 
Fecha de Ingreso: marzo-2008
Mensajes: 30
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: como consulto una clave codificada con OLD_PASSWORD()?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Las claves de usuario, sea con PASSWORD() como con OLD_PASSWORD() son de una sola dirección. Una vez encriptada, no hay funciones en MySQL que la puedan desencriptar.
Traducción: Una vez encriptadas, no hay forma de recuperar el string original, no importa que hagas, a menos que seas capaz de generar un algoritmo capaz de romper la clave de encriptación de 128 bits que tiene la que usa MySQL...
Para darte un ejemplo, si quieres encriptar la palabra "root" tus resultados serán:


Ahora bien, si lees la tabla USER, encontrarás esos strings. No las claves. ¿Se entiende?
Supongamos que encuentras esto:

o esto:

¿Cómo haces para saber qué significan?

El tema aquí, es que mySQL no tiene ninguna función que te permita transformar esto:

en esto:

No la hay, porque no es seguro que los usuarios cuenten con ella. La podría usar cualquiera para acceder a lo que no debe.
Muy buena respuesta, me ha sido de mucha utilizadad.

Desidi guardar esa clave en otro campo y encriptarla con otro metodo que pueda desencriptar, como el que me mencionaron.

Gracias.
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:40.