login en mysql y vb6 comparar encriptacion

Iniciado por elmatador2, 22 Junio 2016, 17:36 PM

0 Miembros y 1 Visitante están viendo este tema.

elmatador2

estoy haciendo un login de usuario en vb6 y mysql que la cuenta se crea por web y tiene este codigo de encriptacion para el password
Código (php) [Seleccionar]
base64_encode(pack("H*", sha1(utf8_encode($a))))
y necesitaria abrir el usuario desde vb6 descifrando ese password.
este es el codigo q tengo en vb6

Código (vb) [Seleccionar]

Private Sub Command1_Click()


'(hace consulta en db)
Dim strsql As String
Dim rs As ADODB.Recordset
strsql = "SELECT * FROM accounts where access_level=1"
Set rs = cn.Execute(strsql)
If Not rs.EOF Then rs.MoveFirst

While Not rs.EOF


'(si el usuario coincide se va a 1, si no sale el mensaje)

If Text1.Text = rs!login Then GoTo 1
rs.MoveNext
Wend

Set rs = Nothing
MsgBox "no coincide el usuario"
GoTo 0


1:

'(si el password coincide se va a 2, si no sale el mensaje)

If Text2.Text = rs!pass Then GoTo 2
MsgBox "no coincide la pass"

GoTo 0


2:

'(si el usuario ya esta en linea sale un mensaje y se va al 3)

   Dim strsqlonline As String
   
   strsqlonline = "SELECT * FROM accounts WHERE login= '" & Text1.Text & "'"
   Set rs = cn.Execute(strsqlonline)
   If Not rs.EOF Then rs.MoveFirst
   While Not rs.EOF
   If 1 = rs!online Then GoTo 3
   
   rs.MoveNext
   Wend
   Set rs = Nothing
   

'(password y usuario coinciden se va a form2)

Form2.Show
Form1.Hide

Form1.Refresh

GoTo Ends
3:
MsgBox "usuario ya esta en linea"
GoTo 0


0:
Form1.Enabled = True
Form1.Cls
Ends:
End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Label3_Click()
Form3.Show
Form1.Hide
End Sub

este lo estoy utilizando pero es en otra celda de la tabla sin encriptacion.
necesitaria ayuda porfas para comparar ese metodo y abrir con la password cifrada. desde ya muchas gracias

engel lex

modifica el titulo del tema... el mismo debe ser descriptivo al problema expuesto "ayuda porfas" no describe nada sobre que va el post
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

elmatador2


AlbertoBSD

Hola esta linea es con la que se hashea el password.
Misma linea que pusiste:

Código (php) [Seleccionar]
base64_encode(pack("H*", sha1(utf8_encode($a))))



es imposible deteterminar cual es el passworf original teniendo esa cadena.

El passwor no esta cifrado aclaro. El password de pasa a su hast sha1()...

pack no se que haga pero el resultado se guarda en base64.

En tu formulario de VB tienes que aplicarle el mismo proceso a una cadena y despues comparar si el reultado es el mismo.

Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

elmatador2

muchas gracias por responder, podrias ponerme algun ejemplo simple porfas?

AlbertoBSD

#5
Mira tengo mucho que no toco VB a fondo necesitas una funcion que realize sha1 y otra que codifique a base 64

No creo que vengan por defecto posiblemente necesites cargar alguna libreria externa que las contenga.

Entonces una vez que encuentras tus funciones.

Dato de un textbox... Pasar a la funcion sha1 el valor del textbox y esta funcion nos devolvera un hash.

Este valor (En el PHP es procesado por una funcion llamada pack, NUNCA LA HE USADO y no se que haga)

Y el resultado de esa funcion pack es convertido a base 64 y ese es el resultado que se guarda en la Base de Datos del MYSQL.

no tengo en este momento VB instalado por lo que no puedo  proporciar un ejemplo.

Te recomendaria que busques primero esas 3 funciones en VB: SHA1, PACK, BASE64_Encode

Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW