Inserción de datos en la base de datos, y uso de datos Encriptados, Login
En este video esplico como se insertan datos en una base de datos MS Access.
Se creo un registro en la tabla Usuarios que son los datos del administrador.
En Visual Basic, se tomo una función de la página recursosvisualbasic.com.ar para encripdar datos, esta se uso para encriptar la contraseña de los usuarios.
Esta es la función:
'---------------------------------------------------------------------
' EncryptString
' Modificado por Harvey T.
'---------------------------------------------------------------------
'El parámetro UserKey es la clave.
'El parámetro Text es el texto a encriptar o desencriptar.
'El parámetro Action indica QUE hacer, ..es decir Encriptar o desencriptar. ( El valor ENCRYPT es para encriptar y el valor DECRYPT para desencriptar)
'url: http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/269-encriptar-desencriptar.htm
Public Function EncryptString(UserKey As String, Text As String, Action As Single) As String
Dim UserKeyX As String
Dim Temp As Integer
Dim Times As Integer
Dim i As Integer
Dim j As Integer
Dim n As Integer
Dim rtn As String
'//Get UserKey characters
n = Len(UserKey)
ReDim UserKeyASCIIS(1 To n)
For i = 1 To n
UserKeyASCIIS(i) = Asc(Mid$(UserKey, i, 1))
Next
'//Get Text characters
ReDim TextASCIIS(Len(Text)) As Integer
For i = 1 To Len(Text)
TextASCIIS(i) = Asc(Mid$(Text, i, 1))
Next
'//Encryption/Decryption
If Action = ENCRYPT Then
For i = 1 To Len(Text)
j = IIf(j + 1 >= n, 1, j + 1)
Temp = TextASCIIS(i) + UserKeyASCIIS(j)
If Temp > 255 Then
Temp = Temp - 255
End If
rtn = rtn + Chr$(Temp)
Next
ElseIf Action = DECRYPT Then
For i = 1 To Len(Text)
j = IIf(j + 1 >= n, 1, j + 1)
Temp = TextASCIIS(i) - UserKeyASCIIS(j)
If Temp < 0 Then
Temp = Temp + 255
End If
rtn = rtn + Chr$(Temp)
Next
End If
'//Return
EncryptString = rtn
End Function
Luego en el modulo de mod_consultas se creo una función de validar Usuarios
Function Validar_Usuario(usuario As String, password As String) As Boolean
Dim RecorsetTemp As New ADODB.Recordset
Dim Sql As String
Dim Clave As String
Clave = EncryptString("4mkiujn4", password, 1)
Sql = "Select * from tblUsuarios where usuario = '" & usuario & "' and password = '" & Clave & "'"
RecorsetTemp.Open Sql, ConexionADO
If RecorsetTemp.RecordCount > 0 Then
Glo_NombreUsuario = RecorsetTemp("nombres_apellidos")
Glo_IdUsuario = RecorsetTemp("IdUsuario")
Glo_IdentifUsuario = RecorsetTemp("identificacion")
Validar_Usuario = True
Else
Validar_Usuario = False
End If
End Function
En el formulario de frmLogin en el evento clic del boton ingresar se coloco el siguiente código:
Private Sub cmdIngresar_Click()
If Validar_Usuario(txtUsuario.Text, txtPassword.Text) = True Then
frmPrincipal.Show
Unload Me
Else
MsgBox "Usuario no válido", vbCritical, "Erro de Usuario"
End If
End Sub
Se creo el formulario MDI frmPrincipal que sera la ventana principal de la aplicación.
Se creo un registro en la tabla Usuarios que son los datos del administrador.
En Visual Basic, se tomo una función de la página recursosvisualbasic.com.ar para encripdar datos, esta se uso para encriptar la contraseña de los usuarios.
Esta es la función:
'---------------------------------------------------------------------
' EncryptString
' Modificado por Harvey T.
'---------------------------------------------------------------------
'El parámetro UserKey es la clave.
'El parámetro Text es el texto a encriptar o desencriptar.
'El parámetro Action indica QUE hacer, ..es decir Encriptar o desencriptar. ( El valor ENCRYPT es para encriptar y el valor DECRYPT para desencriptar)
'url: http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/269-encriptar-desencriptar.htm
Public Function EncryptString(UserKey As String, Text As String, Action As Single) As String
Dim UserKeyX As String
Dim Temp As Integer
Dim Times As Integer
Dim i As Integer
Dim j As Integer
Dim n As Integer
Dim rtn As String
'//Get UserKey characters
n = Len(UserKey)
ReDim UserKeyASCIIS(1 To n)
For i = 1 To n
UserKeyASCIIS(i) = Asc(Mid$(UserKey, i, 1))
Next
'//Get Text characters
ReDim TextASCIIS(Len(Text)) As Integer
For i = 1 To Len(Text)
TextASCIIS(i) = Asc(Mid$(Text, i, 1))
Next
'//Encryption/Decryption
If Action = ENCRYPT Then
For i = 1 To Len(Text)
j = IIf(j + 1 >= n, 1, j + 1)
Temp = TextASCIIS(i) + UserKeyASCIIS(j)
If Temp > 255 Then
Temp = Temp - 255
End If
rtn = rtn + Chr$(Temp)
Next
ElseIf Action = DECRYPT Then
For i = 1 To Len(Text)
j = IIf(j + 1 >= n, 1, j + 1)
Temp = TextASCIIS(i) - UserKeyASCIIS(j)
If Temp < 0 Then
Temp = Temp + 255
End If
rtn = rtn + Chr$(Temp)
Next
End If
'//Return
EncryptString = rtn
End Function
Luego en el modulo de mod_consultas se creo una función de validar Usuarios
Function Validar_Usuario(usuario As String, password As String) As Boolean
Dim RecorsetTemp As New ADODB.Recordset
Dim Sql As String
Dim Clave As String
Clave = EncryptString("4mkiujn4", password, 1)
Sql = "Select * from tblUsuarios where usuario = '" & usuario & "' and password = '" & Clave & "'"
RecorsetTemp.Open Sql, ConexionADO
If RecorsetTemp.RecordCount > 0 Then
Glo_NombreUsuario = RecorsetTemp("nombres_apellidos")
Glo_IdUsuario = RecorsetTemp("IdUsuario")
Glo_IdentifUsuario = RecorsetTemp("identificacion")
Validar_Usuario = True
Else
Validar_Usuario = False
End If
End Function
En el formulario de frmLogin en el evento clic del boton ingresar se coloco el siguiente código:
Private Sub cmdIngresar_Click()
If Validar_Usuario(txtUsuario.Text, txtPassword.Text) = True Then
frmPrincipal.Show
Unload Me
Else
MsgBox "Usuario no válido", vbCritical, "Erro de Usuario"
End If
End Sub
Se creo el formulario MDI frmPrincipal que sera la ventana principal de la aplicación.
Comentarios
Publicar un comentario