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