Node.js es un entorno de tiempo de ejecución multiplataforma y de código abierto basado en el motor JavaScript V8 de Chrome para ejecutar código JavaScript fuera de un navegador. Node.js admite una gran cantidad de módulos de terceros que ayudan a realizar muchos tipos diferentes de tareas. El módulo criptográfico es uno de los módulos de terceros que ayudan a cifrar, descifrar o codificar cualquier dato. que queremos asegurar desde fuera del mundo. La función principal de este módulo es convertir el texto sin formato o los datos al formato cifrado (hash, CipherText) que no se puede leer.
Los módulos de dos terceros crypto y bycrypto se utilizan para proteger datos confidenciales. La principal diferencia entre el módulo criptográfico y el módulo criptográfico es que el módulo criptográfico realiza un hashing potente en comparación con el módulo criptográfico. Entonces, si queremos realizar el hashing poderoso, preferiremos el módulo criptográfico; de lo contrario, usaremos el módulo criptográfico.
Texto sin formato: todo lo que escribimos o escribimos que es comprensible para los humanos se llama texto sin formato. Puede contener cualquier carácter (a-zA-Z0-9!,@,#….). P.ej. nuestra contraseña
Texto cifrado: sdfasc1asT67W2sqWwsdfsadf ¿Eres capaz de entender esta palabra? Este era un texto cifrado, es decir, texto ilegible e incomprensible que se genera al pasar texto sin formato a través de un algoritmo.
El mecanismo en Criptografía:
Hashing: Este es un mecanismo para convertir un texto sin formato en texto cifrado. Es una función criptográfica unidireccional, es decir, no podemos convertir texto cifrado en texto sin formato. Se usa ampliamente en los sistemas de autenticación para evitar almacenar contraseñas de texto sin formato en las bases de datos, pero también se usa para validar archivos, documentos y otros tipos de datos. Message Digest 5 (MD5), RSA, SHA, etc. son algoritmos ampliamente utilizados para hash.
Cifrado y descifrado: los algoritmos de cifrado toman una entrada y una clave secreta y generan una salida de apariencia aleatoria llamada texto cifrado. Esta operación es reversible. El descifrado es lo contrario del cifrado. Este algoritmo toma la misma clave secreta y el mismo texto cifrado y devuelve nuestro texto sin formato original. Esto se usa ampliamente en un sistema de mensajería como WhatsApp, etc. AES, etc. Re Algoritmos ampliamente utilizados para el cifrado y descifrado.
Características de Crypto en Node.js :
- Es fácil empezar
- Muchos algoritmos ampliamente utilizados están ahí con sus diferentes versiones.
- Código fuente más limpio y consistente.
- Utiliza JavaScript en todas partes para que pueda usarlo con node.js
Módulo de instalación:
npm install crypto-js --save
Estructura del proyecto:
podemos usar este módulo de dos maneras, ya sea para el hashing o para el cifrado y descifrado de los datos. Hay muchos algoritmos disponibles para el hash, así como para el cifrado y descifrado de los datos.
Usando el módulo criptográfico para Hashing los datos:
index.js
// Importing module var SHA256 = require("crypto-js/sha256"); var plaindata = "GeeksForGeeks" var hasheddata = SHA256(plainText).toString() console.log(hasheddata)
Ejecute el archivo index.js usando el siguiente comando:
node index.js
Producción:
Uso del módulo criptográfico para el cifrado y descifrado de los datos:
Usaremos la clave para el cifrado y descifrado de los datos. Se puede usar una sola clave para el cifrado de los datos, así como en el proceso de descifrado de los datos. A continuación se muestra un ejemplo del cifrado y descifrado de los datos utilizando una única clave.
index.js
// Importing the crypto module const crypto=require("crypto-js") var data = "This is the data that need to be encrypted" var key = "password@111" // Encrypte the data var encrypted = crypto.AES.encrypt(data, key).toString(); console.log("Encrypted data") // Printing the encrypted data console.log(encrypted) console.log("Decrypted data") // Decrypting the data var decrypted = crypto.AES.decrypt(encrypted, key) .toString(crypto.enc.Utf8) console.log(decrypted)
Ejecute el archivo index.js usando el siguiente comando:
node index.js
Producción:
Publicación traducida automáticamente
Artículo escrito por zack_aayush y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA