Método Node.js hmac.update()

El método hmac.update() es un método incorporado de clase HMAC dentro del módulo criptográfico que se utiliza para actualizar los datos del objeto hmac. 

Sintaxis:

hmac.update(data[, inputEncoding])

Parámetros: Este método toma los siguientes dos parámetros:

  • data: Puede ser de tipo string, Buffer, TypedArray o DataView. Son los datos que se pasan a esta función.
  • inputEncoding: es un parámetro opcional. Es la codificación de la string de datos.

Valor devuelto: este método no devuelve nada.

Configuración del proyecto: cree un nuevo proyecto de NodeJS y asígnele el nombre hmac .

mkdir hmac && cd hmac
npm init -y

Ahora cree un archivo .js en el directorio raíz de su proyecto y asígnele el nombre index.js

Ejemplo 1: 

index.js

// Node.js program to demonstrate the
// crypto hmac.update() method
    
// Importing crypto module
const { createHmac } = require('crypto')
  
// Creating and initializing algorithm and password
const algo = 'sha256'
const secret = 'GFG Secret Key'
  
// Create an HMAC instance
const hmac = createHmac(algo, secret)
  
// Update the internal state of the hmac object
hmac.update('GeeksForGeeks')
  
// Perform the final operations
// Return calculated hash
const result = hmac.digest('base64')
  
// Print the result
console.log(`HMAC hash: ${result}`)

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

HMAC hash: yK4+CYVa56w0Ba1g2TdY7cDM68HPXFKb+10FhnRpXFM=

Ejemplo 2:

index.js

// Node.js program to demonstrate the    
// crypto hmac.update() method
  
// Defining myfile
const myfile = process.argv[2];
  
// Includes crypto and fs module
const crypto = require('crypto');
const fs = require('fs');
  
// Creating and initializing algorithm and password
const algo = 'sha256'
const secret = 'GFG Secret Key'
  
// Creating Hmac
const hmac = crypto.createHmac(algo, secret);
  
// Creating read stream
const readfile = fs.createReadStream(myfile);
  
readfile.on('readable', () => {
  
  // Calling read method to read data
  const data = readfile.read();
  
  if (data)
  
    // Updating
    hmac.update(data);
  else {
  
    // Perform the final operations 
    // Return hash value
    const result = hmac.digest('hex')
  
    // Display result
    console.log(`HMAC hash value of ${myfile}: ${result}`);
  }
});

Ejecute el archivo index.js con el siguiente comando:

node index.js package.json

Producción:

Valor hash HMAC de paquete.json: 38f0f975f8964343c24da940188eaeb6bb20842e3c5bf03ccb66773e98beeb73

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

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 *