Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Crypt.MD5
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Crypt.MD5 
 
Buenas tardes,
Se que se ha discutido varias veces y de hecho soplo escribió un artículo sobre encriptación en MD5 con crypt.MD5 pero aún sigo sin entender como utilizar este componente.

Lo que deseo es que el usuario escriba su clave en un textbox y que al apretar un botón este texto se encript en MD5. Este se enviará a una tabla de la base de datos y luego hay que comprobarla de nuevo en otro formulario.

Alguien podría explicarme esto de nuevo si no es mucho pedir
 



 
techm3 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crypt.MD5 
 
Hola
Con crypt.mdt(textbox.text) tu encriptas algo que te hayan escrito en el textbox osea que tienes un nuevo string que corresponde a lo que te pusieron en el textbox encriptado.

Ahora vas tu y guardas el usuario y el md5 en una base de datos.

Unos dias despues el usuario quiere entrar. escribe su usuario y su clave.  Tu haces lo siguiente:
1. Buscas en la base de datos el md5 que guardaste
2. Encriptas la clave que ha escrito
3. Comparas la clave encriptada con el md5 que tienes en base de datos
Si son iguales la clave es válida. Si son distintos la clave es inválida.

 
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crypt.MD5 
 
Gracias por tu rápido respuesta soplo,

Resulta que para probarlo antes de integrarlo con la base de datos he utilizado el siguiente código (inventado y seguramente erróneo)

' gambas class file
PUBLIC pass AS String
PUBLIC pass2 AS String



PUBLIC SUB Button1_Click()

pass = Crypt.MD5(TextBox1.Text)

TextBox2.Text = pass


END

PUBLIC SUB Button2_Click()

pass2 = Crypt.MD5(TextBox3.Text)
  IF pass = pass2 THEN
  Message.Info("ok")
  ELSE
  Message.Warning("wrong password")
  ENDIF

END
 

y no me funciona. siempre me da ok aunque este mal. Otra cosa, cuando encripta en MD5 siempre comienza con $1$ y hasta donde tengo entiendo MD5 no es así..
 



 
techm3 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crypt.MD5 
 
pues tendré que probar eso porque no veo nada mal en lo que pones.

De todas formas ya te advierto que estoy trabajando en una clase para trabajar conc certificados y obviamente con md5 no voy a ningún lado así que estoy utilizando openssl. Puedes probar a encriptar la misma clave en md5 con crypt y con openssl a ver que pasa.

shell("openssl passwd -l " & textbox1.text) to var
textbox2.text=var
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crypt.MD5 
 
techm3, no me detuve a debuggear tu código, sólo escribí este ejemplo y funciona correctamente:

PUBLIC pass AS String

PUBLIC SUB btnCheck_Click()
  pass = Crypt.MD5(TextBox1.Text)
  IF NOT Crypt.Check(TextBox2.Text, pass) THEN
    Message.Info("ok")
  ELSE
    Message.Error("wrong password")
  ENDIF
END
 

 




===================
Cómo programar con Gambas

Speed Books: informática libre.
 
fabianfv - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crypt.MD5 
 
soplo escribió: [Ver mensaje]
pues tendré que probar eso porque no veo nada mal en lo que pones.

De todas formas ya te advierto que estoy trabajando en una clase para trabajar conc certificados y obviamente con md5 no voy a ningún lado así que estoy utilizando openssl. Puedes probar a encriptar la misma clave en md5 con crypt y con openssl a ver que pasa.

shell("openssl passwd -l " & textbox1.text) to var
textbox2.text=var


soplo... como veo que usas un password con openssl, me da entender que puedes luego desencriptarlo con el mismo pass cierto?... de ser así como sería?
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crypt.MD5 
 
Hola DEATH

Lamentablemente el compañero soplo lleva mas de dos años sin escribir en el foro, así que no creo que conteste. Lo que quiero decir, aprovechando la ocasión, es que si vemos que un mensaje es muy antiguo, como en este caso, es mejor plantear la pregunta en un nuevo mensaje, en lugar de reabrir uno tan antiguo.

Aunque podemos hacer referencia al mensaje antiguo, éste puede que no esté en contexto con la actualidad, por ejemplo sólo porque hoy en día hablamos casi exclusivamente de Gambas3 y no de gambas2, como era hace casi 3 años.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crypt.MD5 
 
jguardon escribió: [Ver mensaje]
Hola DEATH

Lamentablemente el compañero soplo lleva mas de dos años sin escribir en el foro, así que no creo que conteste. Lo que quiero decir, aprovechando la ocasión, es que si vemos que un mensaje es muy antiguo, como en este caso, es mejor plantear la pregunta en un nuevo mensaje, en lugar de reabrir uno tan antiguo.

Aunque podemos hacer referencia al mensaje antiguo, éste puede que no esté en contexto con la actualidad, por ejemplo sólo porque hoy en día hablamos casi exclusivamente de Gambas3 y no de gambas2, como era hace casi 3 años.

Saludos



vale no hay problema...

saludos!
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crypt.MD5 
 
Aqui deje la solucion. la implemente en estos dias:
http://foro.gambas-es.org/viewtopic.php?f=3&t=2981

Public Sub Button1_Click()
Dim n_u As Result
Dim ci As Integer
Dim password As String
n_u = cn.Exec("SELECT * FROM cuentas where nombre_u  = '" & user.text & "';")
If Crypt.Check(pass.Text, n_u!pass) = False Then
 ci = n_u!ci
 Message.Info("Correcto")
 principal.Show
 principal.ciu.Text = ci
 Me.Close

 Else
  Message.Error("Incorrecto")
End If

End

 



 
Fenriz07 - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Crypt.MD5 
 
Ok, Fenriz07

No tengas miedo de usar nombres de variables más largos y descriptivos, te facilitará la vida un montón... te lo aseguro!

Gracias por el ejemplo,

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes La Clase Crypt soplo General 3 Lunes, 09 Agosto 2010, 23:26 Ver último mensaje
abarzuaf
No hay nuevos mensajes Gb.Crypt ramon_661 Controles/Librerías/Componentes 3 Jueves, 11 Agosto 2016, 16:02 Ver último mensaje
arubioc
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron