Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-08-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Tipo de dato para un campo donde guardo contraseñas

Buenas tardes compañeros tengo una duda que me mata, al terminar mi aplicacion e instalar en la empresa para la cual se realizo, toda funciona bien el sistema de logeo pero ahi algo que me quita el sueño nunca encontre un tip ode dato para guardar las contraseñas y las guardo como texto plano lo cual cualquier persona con un poco de conocimientos sobre las herramientas del mssql y que logre accesar a la BD podra ver cualquier contraseña existe algun tipo de dato que cifre la contraseña o algun algoritmo para hacerlo gracias por cualquier comentario.
Responder Con Cita
  #2  
Antiguo 27-08-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

En mi experiencia las contraseñas no se guardan nunca en claro, ni siquiera se cifran, puesto que podrían "descrifrarse". Lo que se hace es guardar un "hash", una "firma" de la contraseña, como pueda ser SHA1 ó MD5. De este modo, tú guardas la "firma" (que es una cadena de caracteres) de una determinada contraseña, y, lógicamente, para comprobar si una contraseña es correcta, obtienes su "firma", que es lo que comparas con la "firma" guardada previamente en la base de datos. No sé si te habré aclarado algo o qué.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 27-08-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,

En mi experiencia las contraseñas no se guardan nunca en claro, ni siquiera se cifran, puesto que podrían "descrifrarse". Lo que se hace es guardar un "hash", una "firma" de la contraseña, como pueda ser SHA1 ó MD5. De este modo, tú guardas la "firma" (que es una cadena de caracteres) de una determinada contraseña, y, lógicamente, para comprobar si una contraseña es correcta, obtienes su "firma", que es lo que comparas con la "firma" guardada previamente en la base de datos. No sé si te habré aclarado algo o qué.
a ok mira muy buena respuesta sip claro sip entendi lo que me explicaste y el script que lo hace le echare un vistazo para integrarlo a mi forma de conexion, solo me queda una duda de que tipo de dato debe ser el campo paasword que contendra el hash gracias.
Responder Con Cita
  #4  
Antiguo 27-08-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Y dependiendo de qué base uses es posible que ésta ya cuente con las funciones que comenta dec. Por ejemplo, es el caso de mysql.

El tipo de datos puede ser cualquier tipo char.

// Saludos
Responder Con Cita
  #5  
Antiguo 27-08-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
muchas Gracias roman y dec ya modifique mi aplicacion con los comentarios que me han dado
Responder Con Cita
  #6  
Antiguo 27-08-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Hola de nuevo yo jeje recapitulando por que lo habia programado asi cai en que lo habia hecho por que las conexiones realmente las hago con los usuarios que creo desde la aplicacion en el mssql 2005 y ahora tengo una duda en el script que me paso dec viene la funcion para hacer la conversion a la inversa pro que de seguro que a un usuario despistado se le va olvidar su contraseña y pues va hacer un poco molesto para el encargado del sistema estar editando cada que esto pase, mil gracias por su tiempo.
Responder Con Cita
  #7  
Antiguo 27-08-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Según se... el Hash MD5 no tiene inversa... Así que deberías tener en tu aplicación una opción para resetear la contraseña, esto es, que el sistema genere una contraseña nueva y ya luego el usuario cuando entre a su cuenta pueda cambiarla dentro del sistema. Y lógicamente, que esta opción solo la pueda usar el Administrador...



Saludos...
Responder Con Cita
  #8  
Antiguo 27-08-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por richy08 Ver Mensaje
pro que de seguro que a un usuario despistado se le va olvidar su contraseña y pues va hacer un poco molesto para el encargado del sistema estar editando cada que esto pase
Las funciones que te comenta dec son precisamente para no poder hacer la conversión inversa. Y es así con todo propósito ya que ni siquiera el administrador de un sistema debería conocer las contraseñas de los usuarios. Esto es por protección misma del administrador.

Ahora bien, esta regla yo me la he saltado en sistemas donde la seguridad no es crucial y donde ciertamente los usuarios suelen olvidarse de su contraseña (y, por cierto, mucho menos tendrán la intención y/o habilidad de vulnerar la seguridad). En esos casos, me conformo con guardar las contraseñas en texto plano. Eso sí, se las genero yo para que no pongan gato, perro o su propio nombre como contraseña.

// Saludos
Responder Con Cita
  #9  
Antiguo 27-08-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
a gracias roman esa no me la sabia que n ose pueden dar vuelta hacia atras, pues si la aplicacion tiene la forma de resetear las contraseñas y volverlas a generar, pero optare por derle trabajo al administrador de la aplicacion por que esos usuarios y contraseñas son los mismos que creo en el mssql 2005 ahi otra cosa que me tiene inquieto creo los usuarios por medio de los procedimientos almacanados propios del mssql, pero cual fue mi sorpresa que esos usuarios por medio del managment studio se pueden logear y ver la bd no he intentado borrar tablas o hacer extragos con esos usuarios los permisos que les doy sobre las tablas son delete, references, insert, select y update pro que son lo minimo que necesita cada usuario creen ustedes que con eos sea suficiente para partirle su mandarina en gajos a la bd. gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Que tipo de dato usar para definir un campo con esta caracteristica? K-ba Varios 2 30-01-2008 11:12:36
Tipo de dato mas adecuado, para un campo de moneda Chogo Firebird e Interbase 9 08-08-2007 15:03:00
Convertir Campo en SQL SERVER a otro tipo de dato subzero MS SQL Server 1 29-06-2007 02:07:54
Campo precio, q tipo de dato utilizo?? newbery Firebird e Interbase 1 10-01-2006 23:18:44
cambiar el TIPO de dato de un CAMPO de una tabla Jose Mari SQL 2 01-04-2005 17:18:16


La franja horaria es GMT +2. Ahora son las 15:37:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi