BCrypt.Net
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.
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.
Continuemos con la creación del modelo Usuario.
Ahora lo que haremos será la conexión con la base de datos e inyectar las dependencias en el Startup.
- Cadena de conexión en el appsettings.json
2. Creación de Data/UsuarioContext para acceder a la tabla USUARIOS
3. RepositoryUsuario dónde vamos a realizar las consultas y peticiones contra la base de datos.
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)
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
Si las contraseñas coinciden se muestra en el mensaje diciendo que es correcta la verificación.
6. Configuración en el StartUp
7. Tabla de Usuarios con datos
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