Método Node.js crypto.getDiffieHellman()

El método crypto.getDiffieHellman() se utiliza para crear un objeto de intercambio de claves DiffieHellmanGroup predefinido. Aquí, los grupos favorecidos son ‘modp1’, ‘modp2’, ‘modp5’, que se definen en RFC 2412 y ‘modp14’, ‘modp15’, ‘modp16’, ‘modp17’, ‘modp18’, definidos en RFC 3526.

Sintaxis:

crypto.getDiffieHellman( groupName )

Parámetros: este método acepta un solo parámetro groupName que es de tipo string.

Tipo de retorno: Devuelve el objeto de intercambio de claves DiffieHellmanGroup .

Los siguientes ejemplos ilustran el uso del método crypto.getDiffieHellman() en Node.js:

Ejemplo 1:

// Node.js program to demonstrate the 
// crypto.getDiffieHellman() method
  
// Including crypto module
const crypto = require('crypto');
  
// Calling getDiffieHellman method
// with its parameter groupName
const diffiehellmangrp = crypto.getDiffieHellman('modp14');
  
// Prints DiffieHellmanGroup key exchange object
console.log("Key exchange object : ", diffiehellmangrp);

Producción:

Key exchange object :  DiffieHellmanGroup 
{ _handle: { verifyError: [Getter] }, verifyError: 0 }

Ejemplo 2:

// Node.js program to demonstrate the 
// crypto.getDiffieHellman() method
   
// Including crypto module
const crypto = require('crypto');
   
// Calling two getDiffieHellman method
// with its parameter, groupName
const diffiehellmangrp1 = crypto.getDiffieHellman('modp14');
const diffiehellmangrp2 = crypto.getDiffieHellman('modp14');
   
// Generating keys
diffiehellmangrp1.generateKeys();
diffiehellmangrp2.generateKeys();
   
// Computing secret
const diffiehellmangrp1sc = diffiehellmangrp1
.computeSecret(diffiehellmangrp2.getPublicKey(), null, 'hex');
   
const diffiehellmangrp2sc = diffiehellmangrp2
.computeSecret(diffiehellmangrp1.getPublicKey(), null, 'hex');
   
// Checking if both the secrets are same or not
console.log(diffiehellmangrp1sc === diffiehellmangrp2sc);

Producción:

true

Referencia: https://nodejs.org/api/crypto.html#crypto_crypto_getdiffiehelman_groupname

Publicación traducida automáticamente

Artículo escrito por nidhi1352singh 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 *