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

AES_DECRYPT (no consigo desencriptar)

Estas en el tema de AES_DECRYPT (no consigo desencriptar) en el foro de Mysql en Foros del Web. hola, ¿me podeis revisar el codigo haber si tengo algo mal escrito? si introdusco el codigo manualmente desde phpmyadmin me muestra correctamente el resultado, pero ...
  #1 (permalink)  
Antiguo 11/09/2009, 09:27
 
Fecha de Ingreso: septiembre-2009
Mensajes: 9
Antigüedad: 14 años, 7 meses
Puntos: 0
AES_DECRYPT (no consigo desencriptar)

hola,
¿me podeis revisar el codigo haber si tengo algo mal escrito? si introdusco el codigo manualmente desde phpmyadmin me muestra correctamente el resultado, pero al realizar la consulta desde el codigo php el campo $data['password'] aparece vacio.

aqui la insercion:
Código:
$query = "INSERT INTO usuarios (usuario, password, correo)
		         		VALUES('$username', AES_ENCRYPT('$password','key'), '$mail')";
					mysql_query($query) or die (mysql_error());
aqui la consulta:
Código:
$query = mysql_query("SELECT usuario, AES_DECRYPT(password,'key') FROM usuarios WHERE usuario = '$username'") or
	   die ('No existe el usuario.' . mysql_error());
	$data = mysql_fetch_array($query);
	if($data['password'] != $password){
PD: al poner echo "$data['usuario']" o "$data['correo']" me devuelve el resultado correcto, con "$data['password']" devuelve un valor vacio
  #2 (permalink)  
Antiguo 11/09/2009, 09:34
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, 4 meses
Puntos: 2658
Respuesta: AES_DECRYPT (no consigo desencriptar)

Uno de los problemas posibles es que estás usando como nombre de campo una palabra reservada que es nombre de una función crítica: PASSWORD().
para que la misma opere deberás encerrarla entre acentos agudos (`).
En lo posible no uses palabras reservadas porque pueden dar lugar a resultados inesperados o errores indetectables.

Leer con atención: 9.6. Tratamiento de palabras reservadas en MySQL
__________________
¿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 12/09/2009, 16:13
 
Fecha de Ingreso: septiembre-2009
Mensajes: 9
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: AES_DECRYPT (no consigo desencriptar)

que torpe... supongo que seria eso. gracias aunque al final me decante por usar el MD5
  #4 (permalink)  
Antiguo 03/02/2010, 19:11
 
Fecha de Ingreso: octubre-2009
Mensajes: 10
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: AES_DECRYPT (no consigo desencriptar)

donde le pusiste el acento agudo [`] por que a mi aun me sigue sin mostrar nada me aparece vacio.
  #5 (permalink)  
Antiguo 03/02/2010, 21:32
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, 4 meses
Puntos: 2658
Respuesta: AES_DECRYPT (no consigo desencriptar)

Se usa para encerrar las palabras reservadas usadas como denominación de bases, tablas o columnas.
¿Qué es lo que no te resulta claro de eso?
Es simple: No puedes usar PASSWORD como nombre de columna, si lo haces tienes que invocarla como `PASSWORD`.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 17:23.