Módulos útiles

Clase 22 de 31Curso de Fundamentos de Node.js

Resumen

¿Cómo cifrar contraseñas con bcrypt?

Trabajar con contraseñas seguras es esencial en cualquier aplicación web. Una de las maneras más efectivas para hacerlo es mediante el uso del módulo bcrypt, el cual añade una capa de seguridad cifrando contraseñas y permitiendo compararlas sin exponerlas en texto plano.

Instalación y configuración de bcrypt

Para empezar a utilizar bcrypt en una aplicación Node.js, sigue los siguientes pasos:

  1. Inicializa tu proyecto Node.js:
    npm init -y
    
  2. Instala bcrypt:
    npm install bcrypt
    
  3. Importa el módulo en tu archivo JavaScript:
    const bcrypt = require('bcrypt');
    

Cifrado de contraseñas

Una vez importado bcrypt, puedes cifrar contraseñas de la siguiente manera:

const password = '1234segura!';
bcrypt.hash(password, 5, (err, hash) => {
    if (err) {
        console.error(err);
    } else {
        console.log('Hashed Password:', hash);
    }
});
  • Password: es la contraseña en texto plano.
  • 5: representa el número de rondas para crear el hash, lo cual influye en la seguridad.

Comparación de contraseñas

Después de cifrar una contraseña, la comparación es sencilla:

const hashedPassword = '$2b$05$Zm5P...';  // Ejemplo de hash generado
bcrypt.compare(password, hashedPassword, (err, result) => {
    console.log('Do they match?', result); // true o false
});

¿Cómo trabajar con fechas en JavaScript utilizando Moment.js?

Moment.js facilita la manipulación de fechas, tarea que puede ser compleja debido a las funciones limitadas que JavaScript ofrece de manera nativa.

Instalación y configuración de Moment.js

Para integrar Moment.js en tu proyecto, ejecuta:

npm install moment

Luego, importa Moment.js en tu archivo:

const moment = require('moment');

Utilización básica de Moment.js

Con Moment.js, puedes crear, manipular y formatear fechas de formas avanzadas. Ejemplo de crear y mostrar la fecha actual:

const now = moment();
console.log(now.format('YYYY-MM-DD HH:mm'));
  • Cambia el formato según sea necesario, usando patrones como DD-MM-YYYY.

¿Cómo manejar imágenes con Sharp?

Trabajar con imágenes involucra varias operaciones como redimensionamiento y conversión a otros formatos, áreas en las cuales Sharp es una herramienta excepcional.

Instalación y uso básico de Sharp

Para comenzar con Sharp:

  1. Instalación:
    npm install sharp
    
  2. Importación y uso:
    const sharp = require('sharp');
    
    sharp('original.png')
      .resize(80, 80)  // Redimensionar a 80x80 pixeles
      .toFile('resized.png', (err, info) => {
        if (err) {
            console.error(err);
        } else {
            console.log('Image resized:', info);
        }
      });
    

Utilizando Sharp, puedes no solo redimensionar imágenes, sino también aplicar filtros, rotar y convertir imágenes a diferentes formatos, todo de manera eficiente.


Con estos tres módulos, bcrypt, Moment.js y Sharp, estás totalmente equipado para manejar aspectos claves del desarrollo web como seguridad, manejo de fechas y procesamiento de imágenes. Adéntrate en la personalización de tus proyectos y explora más funcionalidades de estas útiles herramientas. ¡El mundo del desarrollo web está lleno de posibilidades, y ahora tienes conocimiento y herramientas para aprovecharlas al máximo!