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