Sección de códigos , trucos y ejemplos para visual basic


267 - Hacer Login en programa y encriptar el Password

<Volver> - Anterior - Siguiente



 

Ejemplo para iniciar el programa pidiendo un password que se almacena en el registro con la clave encriptada

 

La rutina para encriptar y desencriptar cadenas que usa este ejemplo, fue hecha por Harvey Triana.

El proyecto que hice lo podés descargar desde este enlace:

Iniciar programa con Password encriptado

 

...y A continuación se describe resumidamente los formulario y las funciones que utiliza el proyecto de ejemplo.

 

 

El poyecto tiene 4 formulario y un módulo bas.

El mismo inicia mediante un procedimiento Sub Main que está ubicado en el módulo bas. Dentro del Sub Main primero lee del registro si hay una contraseña. Si la hay, carga el formulario de Login que es el siguiente:

 

Formulario de Login

vista del formulario para ingresar el Password y poder entrar al programa

 

Al presionar el botón Entrar, se envia como parámetro a la función llamada " Login ", el password escrito en el Textbox. La función retorna True o False si es correcta o no.

Function Login(PassWord As String) As Boolean

 

Si la contraseña es correcta, descarga el formulario de Loign y se carga el formulario principal del programa.

 

Formulario para cambiar la Clave

Para cambiar la contraseña, hay un formulario similar al anterior llamado frmCambiarClave que es el siguiente:

 

vista del formulario que permite cambiar la contraseña del programa

 

En este formulario, al presionar Aceptar se llama a la función Cambiar_Password

'Función que cambia el Password (Recibe la contraseña vieja, contraseña y confirmación)
'-----------------------------------------------------------------------------
Function Cambiar_Password(Old_Password As String, _
                          New_Password As String, _
                          Confirm_Password As String) As Boolean  

 

La función también es de tipo Boolean, y retorna True si se han ingresado los datos correctos o False si no son correctos, por ejemplo si la contraseña vieja no coincide.

 

Eliminar la clave

Para eliminar la clave hay una Sub muy simple llamada Eliminar_Password

 

Formulario para crear un nuevo Password

Este formulario se llama FrmNuevoPassword, y la función que usa para crear y establecer la nueva clave se llama Nuevo_Password ..que tiene dos parámetros:

Function Nuevo_Password(El_Password As String, PassConfirm As String) As Boolean

 

Si el password y la confirmación enviadas son correctas, la función devuelve True y añade la clave al registro, de lo contrario devuelve False

 

Módulo

Por último el módulo tiene, aparte de las funciones dichas antes, dos propiedades y la función que permite encriptar y desencriptar la contraseña.

La propiedad para leer la clave

Public Property Get ElPassword() As String


'Lee del registro la clave encriptada
  
  ElPassword = GetSetting(App.EXEName, SECCION, CLAVE, "")

End Property 

 

.. para establecerla:

Public Property Let ElPassword(ByVal sPass As String)
   Dim PassEncrip As String
   
   'Primero Encripta
   PassEncrip = Encriptar(sPass, sPass, ENCRYPT)
   
  'Luego Guarda en el registro
  Call SaveSetting(App.EXEName, SECCION, CLAVE, PassEncrip)
End Property 

 

y la función para encriptar y desencriptar de Harvey Triana se llama " Encriptar " y tiene tres parámetros:

Function Encriptar( _
    UserKey As String, Text As String, Action As Single _
    ) As String 

 

La primera es la clave, la segunda la cadena a encriptar (que en este caso también es la clave) y el tercer parámetro es la acción a realizar, es decir Codificar o Decodificar ( El valor 1 Encripta y el valor 2 Desencripta )

 


Recursos Visual basic 6.0 - Relacionados



Buscar en Recursos vb