• Viernes 8 de Noviembre de 2024, 14:03

Autor Tema:  encriptar contraseñas  (Leído 2445 veces)

lair

  • Miembro MUY activo
  • ***
  • Mensajes: 213
  • Nacionalidad: mx
    • Ver Perfil
encriptar contraseñas
« en: Jueves 19 de Febrero de 2009, 22:09 »
0
hola a todos.

esta vez tengo un problema rarisimo con una consulta.

la situacion es como sigue:

tengo una tabla de usuarios, la cual tiene dos trigger asociados,

Código: SQL
  1. delimiter |
  2.  
  3. CREATE TRIGGER encrypt BEFORE INSERT ON usuarios
  4. FOR each ROW
  5. BEGIN
  6. SET NEW.password=des_encrypt(NEW.password,"1");
  7. END;|
  8.  
  9. CREATE TRIGGER encript BEFORE UPDATE ON usuarios
  10. FOR each ROW
  11. BEGIN
  12. SET NEW.password=des_encrypt(NEW.password,"1");
  13. END;|
  14. delimiter ;
  15.  

el objetivo de estos dos trigger es que para cada registro que se inserte o actualice en la tabla de usuarios encripte la contraseña que se le envia, hasta este punto todo esta bien, el problema se presenta cuando realizo la consulta desde el login.

Código: SQL
  1. SELECT * FROM usuarios WHERE username='username' AND password=des_encrypt('password','1')
  2.  

el problema es que si hace el filtrado del usuario, lo malo es que solo filtra el primer usuario de la tabla (osea el primer registro), todos los demas registro la consulta me retorna empty, no se por que, si alguien me puede ayudar con este problema muchas gracias.

que tengan un buen dia todos y sigan enriquesiendo este estupendo foro.

por cierto, estoy programandolo con cakephp.

ahhh y otra cosa, cuando respaldo la bd con mysqldump, no respalda los trigger.

y esta es la version de mi servidor
Server version: 5.0.67 Source distribution
lo tengo corriendo sobre fedora 10

gracias a todos por su tiempo

lair

  • Miembro MUY activo
  • ***
  • Mensajes: 213
  • Nacionalidad: mx
    • Ver Perfil
Re: encriptar contraseñas
« Respuesta #1 en: Lunes 23 de Febrero de 2009, 17:46 »
0
hola a todos, gracias por su tiempo, ya resolvi el problema, cambie el metodo de encriptacion de des_encrypt por aes_encrypt