Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/11/2008, 16:54
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 1 mes
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)