Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-02-2015
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 129
Poder: 11
The Cid James Va por buen camino
Question Login y pasword por tablas

Buenas quisiera hacer un login por medio de tablas y no por el motor de bases de datos, obviamente los paswords tengo pensado hacer una doble codificación. Lo que quiero es como dar el alta de usuarios y se guarde en su respectiva tabla.

Osea el campo supongamos contraseña tenga que validarse por medio del campo "repetir contraseña" y una vez que validen llamar a la funcion de codificación y recién se guarden en la base de datos. Una vez dada de alta el usuario al ingresar su contraseña se codificaria y se comprabaria con el resultado guardado en la base de datos para dar acceso

Gracias de ante mano por el tiempo en contestar
Responder Con Cita
  #2  
Antiguo 16-02-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.464
Poder: 21
newtron Va camino a la fama
Vale....y.... ¿cual es la pregunta?.
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 16-02-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración

Principalmente el punto 7
Responder Con Cita
  #4  
Antiguo 16-02-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Tampoco veo la pregunta, pero por la descripción que pones de como lo vas a hacer te doy los pasos que sigo yo:
Tengo una tabla donde guardo NOMBRE, CLAVE y otros datos de los usuarios.

Crear usuario:
  1. Pido NOMBRE, LA_CLAVE y el resto de los datos.
  2. Pido que repita la clave ya que al no verla puede que haya escrito algo mal.
  3. Si son iguales procedo a crear el usuario:
  4. Genero un Hash de LA_CLAVE (MD5 o SHA, por ejemplo)
  5. Creo un registro en la base de datos
  6. Guardo NOMBRE y el Hash(LA_CLAVE) y el resto de los datos del usuario.

Iniciando sesión:
  1. Pido NOMBRE y LA_CLAVE.
  2. Hago Hash de la LA_CLAVE
  3. Traigo CLAVE de la base de datos de usuarios (que contiene un Hash)
  4. Comparo los valores de CLAVE y Hash(LA_CLAVE)
  5. Si son iguales, dejo entrar.

Ejemplo:
Código SQL [-]
USUARIOS (NOMBRE, CLAVE, AAA, BBB, CCC)
'ADMIN', 'j28krt', ...
'TESORERIA, 'rt56d3', ...

Cuando entra el usuario, dice que se llama ADMIN y que su clave es "ElPatitoFeo"
Si Hash('ElPatitoFeo') = 'j28krt' dejo entrar.
Responder Con Cita
  #5  
Antiguo 16-02-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Ademas de lo que te contesto el compañero [duilioisola]


Te recomiendo que sigas este hilo de cerca que seguro van a mostrar una implementacion de login como la que buscas:

Tutorial video club
Responder Con Cita
  #6  
Antiguo 16-02-2015
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 129
Poder: 11
The Cid James Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Tampoco veo la pregunta, pero por la descripción que pones de como lo vas a hacer te doy los pasos que sigo yo:
Tengo una tabla donde guardo NOMBRE, CLAVE y otros datos de los usuarios.

Crear usuario:
  1. Pido NOMBRE, LA_CLAVE y el resto de los datos.
  2. Pido que repita la clave ya que al no verla puede que haya escrito algo mal.
  3. Si son iguales procedo a crear el usuario:
  4. Genero un Hash de LA_CLAVE (MD5 o SHA, por ejemplo)
  5. Creo un registro en la base de datos
  6. Guardo NOMBRE y el Hash(LA_CLAVE) y el resto de los datos del usuario.

Iniciando sesión:
  1. Pido NOMBRE y LA_CLAVE.
  2. Hago Hash de la LA_CLAVE
  3. Traigo CLAVE de la base de datos de usuarios (que contiene un Hash)
  4. Comparo los valores de CLAVE y Hash(LA_CLAVE)
  5. Si son iguales, dejo entrar.

Ejemplo:
Código SQL [-]
USUARIOS (NOMBRE, CLAVE, AAA, BBB, CCC)
'ADMIN', 'j28krt', ...
'TESORERIA, 'rt56d3', ...

Cuando entra el usuario, dice que se llama ADMIN y que su clave es "ElPatitoFeo"
Si Hash('ElPatitoFeo') = 'j28krt' dejo entrar.
Tenes razon no puse la pregunta, los pasos ya los tengo no son nada del otro mundo el problema o la pregunta seria como hago para llamar a la funcion de condificacion doble, por ejemplo en el caso de que quiero usar md5 primero y el resultado de eso codificarlo en sha1 y recien guardarlo en la base de datos.
Responder Con Cita
  #7  
Antiguo 17-02-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Para eso te puede servir la web de Seoane!

Con el ejemplo que pone, tendrás suficiente:
Código Delphi [-]
  // sha1
  ShowMessage(CalcHash2('The quick brown fox jumps over the lazy dog',haSHA1));
  // md5
  ShowMessage(CalcHash2('The quick brown fox jumps over the lazy dog',haMD5));
Responder Con Cita
  #8  
Antiguo 17-02-2015
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 129
Poder: 11
The Cid James Va por buen camino
Ya tengo la funcion echa para el cifrado, fue lo primero que hice ahora bien creo que no he sido claro con el problema y voy a tratar de darme a entender de mejor forma, tengo los dos formularios tanto el de registro como el de login, he estado intentando solucionar esto por mi cuenta pero no he hallado la solucion ...

Primero tengo dos campos tdbedit en contraseña y repetir contraseña, lo cual por lo visto no funcionara dado que no me deja escribir nada en el segundo ya que he dejado en blanca el datafield. Lo tendria que remplazar por otro componente creo yo un Tedit. El primer problema surge en ese punto dado que no tengo bien claro los componentes a usar, el segundo es como comparo que las dos contraseñas ingresadas sean iguales y recien ahi cofidicarlas para que se guarden en el campo "contraseña" en la base de datos (la misma pregunta seria para mail y repetir mail sin usar ninguna codificacion). Eso seria todo en cuanto al registro.

Ahora pasando al login, ya tengo el algoritmo de cifrado echo y puedo codificar lo que ingreso, los pasos como ya los describiste anteriormente serian. Ahora bien el problema no es cifrarlos sino como los traigo?
Pido NOMBRE y LA_CLAVE.
Hago Hash de la LA_CLAVE
Traigo CLAVE de la base de datos de usuarios (que contiene un Hash)
Comparo los valores de CLAVE y Hash(LA_CLAVE)
Si son iguales, dejo entrar.

Otra cosa que quiero es como dije un doble cifrado, osea yo elijo la contraseña "pepito" esa contraseña primero la paso a MD5 y despues a sha1 para recien guardarla en la tabla, obviamente tambien tendria que hacer lo mismo en el login para que los hash coincidan.

Saludos y gracias por la ayuda
Responder Con Cita
  #9  
Antiguo 17-02-2015
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 The Cid James Ver Mensaje
Primero tengo dos campos tdbedit en contraseña y repetir contraseña, lo cual por lo visto no funcionara dado que no me deja escribir nada en el segundo ya que he dejado en blanca el datafield. Lo tendria que remplazar por otro componente creo yo un Tedit. El primer problema surge en ese punto dado que no tengo bien claro los componentes a usar, el segundo es como comparo que las dos contraseñas ingresadas sean iguales y recien ahi cofidicarlas para que se guarden en el campo "contraseña" en la base de datos (la misma pregunta seria para mail y repetir mail sin usar ninguna codificacion). Eso seria todo en cuanto al registro.
Yo creo que tú mismo te estás contestando. Usa un TEdit regular para la comprobación de la contraseña/email y en el evento BeforePost del DataSet que uses verificas que el contenido del TDBEdit y del TEdit correspondiente coincidan.

Cita:
Empezado por The Cid James Ver Mensaje
Ahora pasando al login, ya tengo el algoritmo de cifrado echo y puedo codificar lo que ingreso, los pasos como ya los describiste anteriormente serian. Ahora bien el problema no es cifrarlos sino como los traigo?
Pido NOMBRE y LA_CLAVE.
Hago Hash de la LA_CLAVE
Traigo CLAVE de la base de datos de usuarios (que contiene un Hash)
Comparo los valores de CLAVE y Hash(LA_CLAVE)
Si son iguales, dejo entrar.
Nuevamente, tú mismo das la respuesta; comparas lo que tiene la base con el hash de lo que escribe el usuario.

Cita:
Empezado por The Cid James Ver Mensaje
Otra cosa que quiero es como dije un doble cifrado, osea yo elijo la contraseña "pepito" esa contraseña primero la paso a MD5 y despues a sha1 para recien guardarla en la tabla, obviamente tambien tendria que hacer lo mismo en el login para que los hash coincidan.
Tampoco hay duda aquí. Simplemente aplicas las dos funciones tanto al registrar al usuario como al hacer el login.

Por otra parte, tengo entendido que hacer un doble cifrado no aumenta realmente la seguridad. Simplemente escoge un buen sistema de cifrado.

// Saludos
Responder Con Cita
  #10  
Antiguo 18-02-2015
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 129
Poder: 11
The Cid James Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Yo creo que tú mismo te estás contestando. Usa un TEdit regular para la comprobación de la contraseña/email y en el evento BeforePost del DataSet que uses verificas que el contenido del TDBEdit y del TEdit correspondiente coincidan.



Nuevamente, tú mismo das la respuesta; comparas lo que tiene la base con el hash de lo que escribe el usuario.



Tampoco hay duda aquí. Simplemente aplicas las dos funciones tanto al registrar al usuario como al hacer el login.

Por otra parte, tengo entendido que hacer un doble cifrado no aumenta realmente la seguridad. Simplemente escoge un buen sistema de cifrado.

// Saludos
Si si hay dudas porque no se como hacer cada paso
Responder Con Cita
  #11  
Antiguo 25-02-2015
Avatar de The Cid James
The Cid James The Cid James is offline
Miembro
NULL
 
Registrado: jun 2013
Posts: 129
Poder: 11
The Cid James Va por buen camino
bueno mas o menos lo pude hacer pero sigo sin poder comparar las contraseñas para luego guardarlo
Responder Con Cita
  #12  
Antiguo 25-02-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Pone tu código o casimiro se enoja jaja
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
Pasword EDN Delphi XE7 willwallace Varios 1 19-01-2015 14:05:32
Pasar parametros de pasword a una BD Access agova Conexión con bases de datos 1 13-04-2009 18:51:10
Como encriptar el pasword y datos desde una página html ? rolandoj Varios 24 13-01-2009 14:26:35
login josi Varios 1 10-06-2008 13:59:12
Pasar pasword por codigo a Tabla Paradox irvingcm Conexión con bases de datos 1 30-03-2005 03:30:47


La franja horaria es GMT +2. Ahora son las 01:37:06.


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