FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Dialecto en SQL Server
Hola foro, tengo una rutina que encripta los password de los usuarios, al
ejecutar la aplicación con el debuguer (tecla F8) el resultado de la funcion que encripta me devuelve el resultado correcto(caracteres), despues reviso la tabla (usuarios) y en el campo "password" NO tengo los caracteres que me devolvio la función, lo que guarda son otros tipos de caracteres. Al desencriptar tengo el problema de que el password del usuario no es igual. Estoy trabajando con Delphi 5, SQL Server 2000 y ADO, el problema me paso tambien con FireBird y pude resolverlo en la conexion (DBExpress) cambiando el dialecto. Que puedo hacer ? Saludos. |
#2
|
||||
|
||||
¿Utilizas caracteres muy raros? ¿De qué tipo es el campo donde almacenas el password?
Si estás utilizando un varchar, cambialo por un nvarchar.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Gracias Neftali te comento que el campo es de tipo Char, ya hice la prueba cambiandolo a nvarchar, varchar, nchar y no funciona.
Ej: La función me devuelve: 'K'#$1B'_FE' y en el campo lo que guarda es esto: k¸Æ |
#4
|
||||
|
||||
Como recomendación yo te diría que utilices una rutina de encriptación (puedes encontrar las que quieras y más por internet) una que te devuelva el password encriptado y que los caracteres utilizados sean los estandard; Incluso puedes encontrar muchas que te los devuelven en hexadecimal. Te evitará muchos problemas de este tipo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
||||
|
||||
Exacto, porque como todos sabemos, usualmente el caracter de comilla simple (') es un delimitador en sql server, que quizas sea lo que te este causando ese problema.
__________________
Héctor Geraldino Software Engineer |
|
|
|