Método Node.js diffieHellman.setPrivateKey()

El método diffieHellman.setPrivateKey() 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 privada del objeto dh .

Sintaxis:

diffieHellman.setPrivateKey(privateKey[, encoding])

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

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

Ejemplo 1:

index.js

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

Ejecute el archivo index.js usando el siguiente comando

node index.js

Producción:

DH private Key is set successfully

Ejemplo 2:

index.js

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

Ejecute el archivo index.js usando el siguiente comando

node index.js

Producción:

DH private Key is set successfully

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