![]() |
Ayuda con aes_decrypt mysql
Estoy generando una aplicacion en delphi 2009 con mysql y la contraseña la encripto con AES_ENCRYPT(valor, 'llave') la escritura la realizo sin ningun problema pero al momento de realizar la consulta para poder visualizar el dato con aes_decrypt y visualizar el dato con query.fielbyname().asstring recibo el dato encriptado. Alguien sabe como puedo resolver este problema?
|
Mira Aquí.;)
Saludos... |
Creo que no me explique bien, si realizo la consulta directamente en mysql si veo el dato sin encriptar el problema es dentro de delphi se queda con el valor encriptado aunque llame la funcion de desencriptar
|
Bueno...siempre es bueno explicarse bien desde el principio para que te podamos ayudar mejor, he ir directamente al grano sin dar vueltas.;)
Como veo que eres nuevo por aquí te doy la Bienvenida y recomiendo leer nuestra Guía de estilo y las Etiquetas(tag) disponibles para conocer ciertas reglas de nuestro foro y tener un buen formato en los post del foro.;) Sobre tu problema... creo que poniendo algun código ejemplo puede ayudar a que podamos ayudarte.;) Saludos...:) |
¿Por qué no pones algo del código que usas para que podamos entender mejor?
// Saludos |
Aqui esta la consulta que realizo para obtener mis datos:
consulta:= 'select u.usuario, (aes_decrypt(u.clave,' + '''' + '1234' + '''' + ')) as psw, u.desc_usuario,' + 'p.agregar_zonas, p.modificar_zonas, p.consultar_zonas,' + 'p.agregar_cobr, p.modificar_cobr, p.consultar_cobr,' + 'p.capturar_entregas, p.modificar_entregas, p.validar_entregas,' + 'p.agregar_usuarios, p.modificar_usuarios, p.consultar_usuarios,' + 'p.consultar_entregas from usuarios as u ' + 'inner join permisos as p on u.usuario = p.usuario ' +'where u.usuario =' + '''' + nombre +''''; y lo mando a llamar de la siguiente manera: form1.Edit1.Text:= QModificaUsuario.FieldByName('psw').AsString; y el valor que me asigna es el valor encriptado |
Mira ésta consulta SQL que pongo que te puede orientar:
Si te das cuenta en la parte interna estoy cifrando la palabra 'Hola' con una llave de nombre 'llave' luego al resultado de ese cifrado nuevamente los descifro con la misma llave, lo cual debería tener como resultado final la misma palabra 'Hola' ;) Espero se entienda....;) Saludos...:) |
Es posible que al compañero le haya pasado lo mismo que a mi cuando probé las funciones :) Pero es que, viendo el ejemplo del manual de MySQL:
Código:
SELECT @password:='my password'; // Saludos |
Ya intente con la consulta que me das y el resultado que obtengo es el mismo solo mis datos cifrados
|
La consulta que te he dado es solo un ejemplo aclaratorio e ilustrativo para poder conocer como encriptar y descencriptar valores en MySQL usando la funciones AES_DECRYPT y AES_ENCRYPT respectivamente.;)
De todas formas te voy a poner un ejemplo basado en que tu tabla "usuarios"en el campo "clave" ya se tiene encriptado y guardado la clave de usuario y queremos obtenerlo desencriptada.;) Segun tengo entendido que tu llave con la que has encriptado y guardado la columna 'clave'de tu tabla Usuarios es '1234' Entonces.... Debería darte como resultado todas las claves de tu tabla Usuario desencriptada. Prueba esa consulta y nos avisas como te fué...;) PD. Mejor si lo pruebas en con algun programa diferente de Delphi que sirva para hacerles consultas SQL directamente al Servidor MySQL ;) |
la consulta ya la he probado en mysql directamente y funciona a la perfeccion el problema es q cuando la mando a un edit en delphi de esta manera query1.FieldByName('psw').AsString me muestra el dato encriptado
|
Si todo lo tienes bien, pues entonces debería funcionarte todo bien :rolleyes: humm... me late que algo estás haciendo mal...:rolleyes: de todas formas el manual de MySQL dice que:
Cita:
|
aqui esta todo el codidgo de mi formulario haber si me pueden ayudar la parte en rojo es donde tengo el problema
|
No haberlo puesto antes...
Si desde el principio hubieras puesto tú código creo que ya hubieramos solucionado el problema..;)
He modificado tu anterior código el procedure BConsultarClick Dada la modificacion algunas variables estan por demás...;) |
sigo teniendo el mismo problema el valor que recibo sigue encriptado despues de hacer las modififcaciones que me diste
|
Cita:
Gracias.:) |
La franja horaria es GMT +2. Ahora son las 04:59:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi