Método Node.js diffieHellman.getGenerator()

El método diffieHellman.getGenerator() es una interfaz de programación de aplicaciones incorporada de la clase diffieHellman dentro del módulo criptográfico que se utiliza para obtener el valor del generador del objeto DiffieHellman (dh). 

Sintaxis: 

diffieHellman.getGenerator([encoding])

Parámetros: Este método toma la codificación como parámetro.

Valor devuelto: Devuelve el valor del generador DiffieHellman en la codificación especificada. Si no se proporciona codificación, se devuelve el búfer; de lo contrario, se devuelve la string. 

Ejemplo 1: 

index.js

// Node.js program to demonstrate the
// diffieHellman.getGenerator() method
  
// Destructure createDiffieHellman method from crypto
const { createDiffieHellman } = require('crypto');
  
// Instances of the DiffieHellman class
const dh = createDiffieHellman(512);
  
// Generate dh's Generator
  
// No encoding specified
// Return Buffer
let dhGenerator = dh.getGenerator()
console.log('\nIs Buffer return ( encoding not specified ) : ' +
    Buffer.isBuffer(dhGenerator)) // true
console.log('Return value :')
console.log(dhGenerator)
  
// Encoding specified 
// Return String
dhGenerator = dh.getGenerator('base64')
console.log('\nIs Buffer return ( encoding specified ): ' +
    Buffer.isBuffer(dhGenerator)) // true
console.log('Return value :')
console.log(dhGenerator)

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

Is Buffer return ( encoding not specified ) : true
Return value :
<Buffer 02>

Is Buffer return ( encoding specified ): false
Return value :
Ag==

Ejemplo 2: 

index.js

// Node.js program to demonstrate the
// diffieHellman.getGenerator() method
  
// Destructure createDiffieHellman method from crypto
const { createDiffieHellman } = require('crypto');
  
// Generate Alice's keys...
const alice = createDiffieHellman(512);
  
// Generate Alices's Prime
const alicePrime = alice.getPrime();
  
// Generate Alice's Generator
const aliceGenerator =  alice.getGenerator()
  
// Generate Alice's Key
const aliceKey = alice.generateKeys();
  
// Generate Bob's keys...
const bob = createDiffieHellman( alicePrime, aliceGenerator );
  
// Generate Bobs's Prime
const bobPrime = bob.getPrime();
  
// Generate Bob's Generator
const bobGenerator =  bob.getGenerator()
  
// Generate Bob's Key
const bobKey = bob.generateKeys();
  
// Exchange and generate the secret...
const aliceSecret = alice.computeSecret(bobKey);
const bobSecret = bob.computeSecret(aliceKey);
  
let isSymmetric = aliceSecret.toString('hex') == bobSecret.toString('hex')
  
console.log( `Is Symmetric key generation 
              successful : ${ isSymmetric }` ); // true

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

Is Symmetric key generation successful : true

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

Publicación traducida automáticamente

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