Método Node.js diffieHellman.setPublicKey()

El método diffieHellman.setPublicKey() es una interfaz de programación de aplicaciones incorporada de la clase DiffieHellman (dh) dentro del módulo criptográfico que se utiliza para establecer la clave pública del objeto dh .

Sintaxis:

diffieHellman.setPublicKey(publicKey[, encoding])

Parámetros: este método acepta los siguientes dos parámetros:

  • publicKey: Se utiliza para denotar la clave privada.
  • codificación: se utiliza para indicar la codificación de publicKey . Si se proporciona codificación, se espera que publicKey sea String; de lo contrario, Buffer, TypedArray o DataView.

Ejemplo 1:

index.js

// Node.js program to demonstrate the
// diffieHellman.setPublicKey() Method
const crypto = require('crypto')
  
crypto.generateKeyPair('dh',
    {
        primeLength: 512,
        publicKeyEncoding: {
            type: 'spki',
            format: 'der'
        },
        publicKeyEncoding: {
            type: 'pkcs8',
            format: 'der'
        }
    },
    cb
)
  
function cb(err, publicKey, publicKey) {
    // Create Diffie-Hellman instance
    const dh = crypto.createDiffieHellman(512)
    // Set the dh's publicKey
    dh.setPublicKey(publicKey)
  
    if (publicKey.equals(dh.getPublicKey()))
        console.log("DH public Key is set successfully")
}

Ejecute el archivo index.js usando el siguiente comando

node index.js

Producción:

DH public Key is set successfully

Ejemplo 2:

index.js

// Node.js program to demonstrate the
// diffieHellman.setPublicKey() Method
const crypto = require('crypto')
  
crypto.generateKeyPair(
    'dh',
    { primeLength: 512 },
    cb
)
  
function cb(err, publicKey, publicKey) {
    // Export key from KeyObject
    publicKey = publicKey.export({ type: 'spki', format: 'der' })
    // Encode key in base64
    publicKey = publicKey.toString('base64');
    // Create Diffie-Hellman instance
    const dh = crypto.createDiffieHellman(512)
    // Set the dh's publicKey
    dh.setPublicKey(publicKey, 'base64')
  
    if (publicKey === dh.getPublicKey('base64'))
        console.log("DH public Key is set successfully")
}

Ejecute el archivo index.js usando el siguiente comando

node index.js

Producción:

DH public Key is set successfully

Referencia: https://nodejs.org/api/crypto.html#crypto_diffiehellman_setpublickey_publickey_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 *