CryptoJS es una biblioteca de JavaScript que proporciona varios algoritmos de criptografía, como AES, DES, Rabbit, MD5, SHA-1, y SHA-256. Es fácil de usar y ampliamente adoptada para encriptar datos en aplicaciones web.
Primero, necesitamos instalar CryptoJS. Puedes incluirlo en tu proyecto usando npm (Node Package Manager) o directamente a través de un CDN (Content Delivery Network).
Si estás utilizando npm, puedes instalar CryptoJS ejecutando el siguiente comando en tu terminal:
npm install crypto-js
Si prefieres no usar npm, puedes incluir CryptoJS directamente en tu proyecto HTML usando un CDN:
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
Ahora, veamos cómo encriptar y desencriptar texto utilizando CryptoJS.
AES (Advanced Encryption Standard) es uno de los algoritmos de encriptación más utilizados. Vamos a ver cómo encriptar y desencriptar texto usando AES en CryptoJS.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Encriptador de Texto con CryptoJS</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
</head>
<body>
<h1>Encriptador de Texto</h1>
<input type="text" id="plainText" placeholder="Ingresa el texto a encriptar">
<button onclick="encryptText()">Encriptar</button>
<button onclick="decryptText()">Desencriptar</button>
<p>Texto Encriptado: <span id="encryptedText"></span></p>
<p>Texto Desencriptado: <span id="decryptedText"></span></p>
<script>
const secretKey = "mySecretKey12345";
function encryptText() {
const plainText = document.getElementById('plainText').value;
const encrypted = CryptoJS.AES.encrypt(plainText, secretKey).toString();
document.getElementById('encryptedText').innerText = encrypted;
}
function decryptText() {
const encryptedText = document.getElementById('encryptedText').innerText;
const decrypted = CryptoJS.AES.decrypt(encryptedText, secretKey);
const decryptedText = decrypted.toString(CryptoJS.enc.Utf8);
document.getElementById('decryptedText').innerText = decryptedText;
}
</script>
</body>
</html>
1. HTML Estructura:
<p>
para mostrar el texto encriptado y desencriptado.
2. JavaScript:
secretKey
para la encriptación. En un entorno de producción, esta clave debe ser almacenada de manera segura.
encryptText()
:
CryptoJS.AES.encrypt
para encriptar el texto plano con la clave secreta.
<span>
.
decryptText()
:
<span>
.
CryptoJS.AES.decrypt
para desencriptar el texto encriptado con la clave secreta.
<span>
.
Crear un encriptador de texto con JavaScript usando CryptoJS es sencillo y eficiente. En este artículo, hemos cubierto los conceptos básicos de encriptación y desencriptación utilizando el algoritmo AES de CryptoJS. Siguiendo estos pasos, puedes implementar una capa adicional de seguridad en tus aplicaciones web para proteger la información sensible de los usuarios.
Jorge García
Fullstack developer