En este post vamos a ver la utilización del NuGet Bcrypt.Net-Next que nos permitirá encriptar textos. Lo utilizaremos viendo el ejemplo en una tabla llamada usuarios que he creado en la base de datos. Así que comencemos:

Para empezar crearé la tabla USUARIOS en la cual tendremos los siguientes campos.

TableUsuarios

Como se ve tiene tres campos y lo que haremos mediante bcrypt será encriptar el campo PASSWD cuando creemos un usuario.

Tras haber creado la tabla crearemos el proyecto dónde configuramos todos lo necesario para crear el usuario e implementar bcrypt.

Comencemos instalando los nugets que vamos a necesitar en nuestro proyecto.

nuGets

Continuemos con la creación del modelo Usuario.

ModeloUsuario

Ahora lo que haremos será la conexión con la base de datos e inyectar las dependencias en el Startup.

  1. Cadena de conexión en el appsettings.json
CadenaConexion

2. Creación de Data/UsuarioContext para acceder a la tabla USUARIOS

DataContext

3. RepositoryUsuario dónde vamos a realizar las consultas y peticiones contra la base de datos.

GetUsuarios CrearUsuario

Como vemos en está segunda foto utilizamos Bcrypt.HashPassword(). Está es la función que tenemos que utilizar para encriptar la contraseña introduciendo la cadena de texto dentro del paréntesis de la función.

4. Creación de Controlador Usuario (UsuarioController)

CrearUsuarioController VerificarUsuario

En VerificarUsuario utilizamos la función Bcrypt.Verify(). Aquí tenemos que enviarle dos parametros el password que le pasamos por el formulario y el que se encuentra guardado en la base de datos para que los compare.

Este devolverá un booleano diciendo que es true si coinciden y false si no.

5. Vistas del Usuario

CrearUsuarioView VerificarUsuarioView VerificarUusarioView

Si las contraseñas coinciden se muestra en el mensaje diciendo que es correcta la verificación.

6. Configuración en el StartUp

StartUp

7. Tabla de Usuarios con datos

camposhasheados

Autor/a: Andrés Basurto

Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma

Centro: Tajamar

Año académico: 2020-2021

Código Github: https://github.com/andresbasur98/PostCore

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.