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