Función Node.js crypto.setEngine()

Node.js es un entorno de tiempo de ejecución de JavaScript back-end de código abierto y multiplataforma que utiliza el motor V8 para ejecutar código JavaScript fuera de un navegador web. Node.js permite a los desarrolladores utilizar JavaScript para crear herramientas de línea de comandos y secuencias de comandos del lado del servidor, lo que implica ejecutar secuencias de comandos en el servidor antes de enviar la página al navegador del usuario. La funcionalidad criptográfica se proporciona a través del módulo criptográfico , que incluye contenedores para los métodos hash, HMAC, cifrado, decodificación, firma y verificación de OpenSSL.

La función crypto.setEngine() carga y configura el motor para algunas o todas las funciones de OpenSSL, seleccionadas por las banderas.

Sintaxis:

crypto.setEngine(engine[, flags])

Parámetros:

  • motor: Esta es una identificación o una ruta a la biblioteca compartida del motor.
  • banderas: Las banderas son un campo de bits que toma una de las banderas o una combinación de ellas. Se utiliza para seleccionar la clase de funciones. El valor predeterminado es ENGINE_METHOD_ALL.

Ejemplo 1: Cree un proyecto node.js junto con un archivo llamado index.js y escriba el siguiente código.

Javascript

const crypto = require("crypto");
  
crypto.setEngine("dynamic");
const secret = 'geeksforgeeks';
const hash = crypto
    .createHmac('sha256', secret)
    .update('I am a geek')
    .digest('hex');
console.log(hash);

Pasos para ejecutar la aplicación: Puede ejecutar el código escribiendo la siguiente línea de código:

node index.js

Producción:

 

Ejemplo 2: Cree un proyecto node.js junto con un archivo llamado index.js y escriba el siguiente código.

Javascript

const crypto = require("crypto");
  
crypto.setEngine("dynamic", crypto.constants.ENGINE_METHOD_DH);
const dh = crypto.createDiffieHellman(512);
dh.generateKeys()
const publicKey = dh.getPublicKey();
console.log(publicKey);

Pasos para ejecutar la aplicación: Puede ejecutar el código escribiendo la siguiente línea de código:

node index.js

Nota: Esto limita el uso del motor solo a Diffie Hellman.

Producción:

 

Referencia: https://nodejs.org/dist/latest-v12.x/docs/api/crypto.html#crypto_crypto_setengine_engine_flags

Publicación traducida automáticamente

Artículo escrito por aayushmohansinha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *