EncriptaciĆ³n de datos usando CryptoJS en un proyecto Angular
En el desarrollo de aplicaciones web, la seguridad de los datos es de vital importancia. Una forma de asegurar la integridad y confidencialidad de la informaciĆ³n es mediante la encriptaciĆ³n de datos. En este artĆculo, veremos cĆ³mo utilizar la librerĆa CryptoJS en un proyecto Angular para encriptar y desencriptar datos.
ĀæQuĆ© es CryptoJS?
CryptoJS es una biblioteca de cifrado que implementa algoritmos clƔsicos de cifrado, como AES, DES, Triple DES, RC4, base64, entre otros. EstƔ escrita en JavaScript y puede ser utilizada en aplicaciones web para encriptar y desencriptar datos de forma segura.
ImplementaciĆ³n en un proyecto Angular
Para comenzar a utilizar CryptoJS en un proyecto Angular, primero debemos instalar la librerĆa mediante npm:
npm install crypto-js
Luego, en el componente o servicio donde queramos utilizar la encriptaciĆ³n de datos, importamos y utilizamos las funciones de CryptoJS:
import * as CryptoJS from 'crypto-js';
// Encriptar datos
const encryptedData = CryptoJS.AES.encrypt('dato a encriptar', 'clave secreta').toString();
// Desencriptar datos
const decryptedData = CryptoJS.AES.decrypt(encryptedData, 'clave secreta').toString(CryptoJS.enc.Utf8);
Ejemplo de uso
Supongamos que queremos encriptar el nombre de usuario y contraseƱa al iniciar sesiĆ³n en nuestra aplicaciĆ³n Angular. PodrĆamos utilizar CryptoJS de la siguiente manera:
import * as CryptoJS from 'crypto-js';
const username = 'usuario';
const password = 'contraseƱa';
const secretKey = 'claveSecreta';
// Encriptar datos
const encryptedUsername = CryptoJS.AES.encrypt(username, secretKey).toString();
const encryptedPassword = CryptoJS.AES.encrypt(password, secretKey).toString();
// Desencriptar datos (para verificar credenciales)
const decryptedUsername = CryptoJS.AES.decrypt(encryptedUsername, secretKey).toString(CryptoJS.enc.Utf8);
const decryptedPassword = CryptoJS.AES.decrypt(encryptedPassword, secretKey).toString(CryptoJS.enc.Utf8);
ConclusiĆ³n
Utilizar CryptoJS en un proyecto Angular nos permite implementar de forma sencilla y segura la encriptaciĆ³n de datos. Al asegurar la confidencialidad de la informaciĆ³n, podemos brindar a nuestros usuarios la tranquilidad de que sus datos estĆ”n protegidos.
Hola, una app que solo tenga front, que manera hay de ocultar las variables del. Env de modo que cuando se haga la petucion a la api, en la consola en la parte red no sean visibles? O tiene que ser solo manejando back? Gracias
Gracias!!
Este tio me va convertir en senior! santos cielos!!
Angular deberia tener estas cosas por default y no nosotros tener que hacerlas, esta epico
Buen video, aunque estoy buscando un ejemplo mas del mundo real, me gustaria ver un video con eso que mencionaste de las claves publicas y privadas
Justo lo estaba necesitando, muchas gracias amigo, podrias hacer videos sobre maquetaciĆ³n? quizĆ”s pasando de un diseƱo adobexd o figma a un landingpage en angular, muchos nos metemos manos al codigo usando un framework pero vi que me falta reforzar temas de maquetado siendo frontend developer y buenas practicas, tendrĆ”s info al respecto? saludos š