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

Des_encrypt aes_encrypt

Estas en el tema de Des_encrypt aes_encrypt en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 19/09/2012, 06:10
 
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)
  #2 (permalink)  
Antiguo 19/09/2012, 08:31
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Des_encrypt aes_encrypt

usa un campo blob para el campo password. Imaginemos que el password es 123456 y que mi palabra para convertir es cerradura
INSERT INTO tutabla (nombre, password) VALUES ('Fabián', AES_ENCRYPT('123456', 'cerradura'))

Y luego para comprobar que funciona, puedes seleccionar
SELECT nombre, AES_DECRYPT(password, 'cerradura') as password FROM tutabla;

Y debería mostrarte Fabián y 123456

Prueba y nos dices

Última edición por jurena; 19/09/2012 a las 09:42
  #3 (permalink)  
Antiguo 20/09/2012, 07:31
 
Fecha de Ingreso: agosto-2011
Mensajes: 14
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Des_encrypt aes_encrypt

Listo! era eso, muchas gracias!

Etiquetas: select, sql, campos
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 21:36.