Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/09/2012, 06:10
Blackerfin
 
Fecha de Ingreso: agosto-2011
Mensajes: 14
Antigüedad: 12 años, 8 meses
Puntos: 0
Des_encrypt aes_encrypt

A ver si alguien me puede ayudar con esto.

Uso DES_DECRYPT y DES_ENCRYPT para almacenar claves en mi bd hecha en MySql. También he probado con AES_DECRYPT y AES_ENCRYPT y me pasa exactamente igual y no sé si estoy poniendo algo mal.

En la base de datos tenemos los campos:
Nombre varchar 250
Password binary(100)

Con los siguientes datos:
Nombre = fabian
contraseña = 123456

INSERT INTO usuarios(nombre, password) VALUES ('Fabián', DES_ENCRYPT('123456', 'key'))

El insert hace bien su trabajo y guarda en la base de datos un usuario con nombre Fabián y que tuene una clave encriptada, al menos eso parece.

SELECT Permisos FROM usuarios WHERE DES_DECRYPT(password, 'key')='123456'

El select no me devuelve nada aunque teóricamente el Insert lo ha metido.

De hecho, si pongo <>'123456' me devuelve la fila que contiene ese usuario. Es como si hubiese guardado el usuario pero la contraseña no la hubiese encriptado de manera que al desencriptarla fuese el 123456.

Agradecería ayuda please.

Servidor: 127.0.0.1 via TCP/IP
Versión del servidor: 5.1.56-community
Versión del protocolo: 10
Juegos de caracteres de MySQL: UTF-8 Unicode (utf8)