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

consulta para hash

Estas en el tema de consulta para hash en el foro de Mysql en Foros del Web. Hola necesito ayuda con un problema, tengo una session que tomo en php que tiene un hash de sha1 y una variable algo asi: session ...
  #1 (permalink)  
Antiguo 02/10/2009, 13:15
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 7 meses
Puntos: 0
consulta para hash

Hola necesito ayuda con un problema, tengo una session que tomo en php que tiene un hash de sha1 y una variable algo asi:

session = hash('sha1',$id."variable");


y la base el id esta en numero por ejemplo 5


lo que necesito hacer es un query que lea el hash de la session con el id de la base

he intentado de esta forma:
"select id from tabla where sha1(GROUP_CONCAT(tabla.id,'variable')) = 'session' ";

pero me da error, de que forma puedo hacer esa consulta para comprobar el hash de la seccion con el id de la tabla espero me entiendan gracias..
  #2 (permalink)  
Antiguo 02/10/2009, 15:55
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: consulta para hash

Hola amigos alguna idea de como se puede lograr ?
  #3 (permalink)  
Antiguo 02/10/2009, 17:44
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: consulta para hash

Por un lado GROUP_CONCAT es una función de agrupamiento, no es utilizable en el WHERE, como tampoco podrías poner un
Cita:
WHERE GROUP BY
Puedes usarla en el SELECT, pero no donde la has puesto.

Por otro lado, lo que propones es un tanto extraño, no lo he visto antes y no se comprende bien qué es lo que quieres lograr.

SHA1() te devuelve un string de 40 dígitos hexadecimales, que se crea sobre la base de un string dado.
En tu caso, lo que estás tratando es de que genere un valor creado como el encadenamiento de todos los id de la tabla, cada uno junto al valor de la variable, y que además lo compare con el valor SHA1 de la sesión capturado por fuera de la base (en el ambiente PHP); y que si se da que sea igual al SHA1 calculado, te devuelva el id de ese campo... Aunque en realidad no hay un campo definido por cuanto todos los valores se agruparon.

En realidad, si lo analizo completo, lo que intentas hacer no tiene sentido para mi...

¿Qué se supone que quieres hacer?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 03/10/2009, 16:35
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: consulta para hash

Hola gnzsoloyo, gracias por la ayuda mira la cosa es asi.

Supon que normalmente cuando haces un loging tomas el id de la session y lo haces hash

por ejemplo select id from tabla where user = "nombre usuario" and password = "password de usuario"


luego metes el id con un has en una session por ejemplo $_session[id] = hash("sha1",id)

y para buscar luego el usuario en la base haces lo siguiente

select usuario from tabla where sha1('id') = $_session['id'];

y esto te devuelve la info del usuario, la diferencia del caso que te planteo es que el hash que estoy buscando ahora tiene una variable agregada al id

en ves de meter en la session el id puro de la base le han agregado un string asi


$_session['id'] = hash("sha1",$id.'algo');

entonces tengo que buscar ese id en la base pero ya no como id puro sino como id + algo, nose si me entiendes ahora, gracias por la ayuda.
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 19:49.