Método Node.js crypto.createHmac()

El método crypto.createHmac() se usa para crear un objeto Hmac que usa el ‘algoritmo’ y la ‘clave’ indicados. Sintaxis:

crypto.createHmac( algorithm, key, options )

Parámetros: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación:

  • algoritmo: Depende de los algoritmos accesibles que son favorecidos por la versión de OpenSSL en la plataforma. Devuelve string. Los ejemplos son sha256 , sha512 , etc.
  • clave: Es la clave HMAC que se utiliza para crear el hash criptográfico HMAC . Devuelve string , Buffer , TypedArray , DataView o KeyObject . Y si es un KeyObject, entonces su tipo debe ser secreto.
  • opciones: es un parámetro opcional y se usa para controlar el comportamiento de la transmisión. Devuelve un objeto.

Tipo de retorno: Devuelve el objeto Hmac . Los siguientes ejemplos ilustran el uso del método crypto.createHmac() en Node.js: Ejemplo 1: 

javascript

// Node.js program to demonstrate the    
// crypto.createHmac() method
 
// Includes crypto module
const crypto = require('crypto');
 
// Defining key
const secret = 'GfG';
 
// Calling createHmac method
const hash = crypto.createHmac('sha256', secret)
                    
                   // updating data
                   .update('GeeksforGeeks')
 
                   // Encoding to be used
                   .digest('hex');
 
// Displays output
console.log(hash);

Producción:

a08116905e92633e4f30eefd1276206b259305c8783642fc5b7f51c089187939

Ejemplo 2: 

javascript

// Node.js program to demonstrate the    
// crypto.createHmac() method
   
// Defining myfile
const myfile = process.argv[1];
   
// Includes crypto and  fs module
const crypto = require('crypto');
const fs = require('fs');
   
// Creating Hmac
const creathmac = crypto.createHmac('sha1', 'CS-Portal!');
   
// Creating read stream
const readfile = fs.createReadStream(myfile);
   
readfile.on('readable', () => {
    
 // Calling read method to read data
  const data = readfile.read();
  if (data)
       
    // Updating
    creathmac.update(data);
  else
   {
    // Encoding and displaying filename
    console.log("The hmac object returns:",
    `${creathmac.digest('hex')} ${myfile}`);
  }
});
console.log("Program done!");
console.log();

Producción:

Program done!
The hmac object returns: 4605d44703c2620fc2574c9a9216bd3267457324 /run_dir/interp.js

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

Publicación traducida automáticamente

Artículo escrito por nidhi1352singh 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 *