當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js hmac.update()用法及代碼示例


hmac.update()方法是加密模塊中HMAC類的內置方法,用於更新hmac對象的數據。

用法:

hmac.update(data[, inputEncoding])

參數:此方法采用以下兩個參數:

  • data:它可以是字符串,Buffer,TypedArray或DataView類型。就是將數據傳遞給此函數。
  • inputEncoding:它是一個可選參數。它是數據字符串的編碼。

返回值:此方法不返回任何內容。



項目設置:創建一個新的NodeJS項目並將其命名為hmac。

mkdir hmac && cd hmac
npm init -y

現在,在項目根目錄中創建一個.js文件,並將其命名為index.js

範例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}`)

使用以下命令運行index.js文件:

node index.js

輸出:

HMAC hash:yK4+CYVa56w0Ba1g2TdY7cDM68HPXFKb+10FhnRpXFM=

範例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}`);
  }
});

使用以下命令運行index.js文件:

node index.js package.json

輸出:

HMAC hash value of package.json:38f0f975f8964343c24da940188eaeb6bb20842e3c5bf03ccb66773e98beeb73

參考:https://nodejs.org/api/crypto.html#crypto_hmac_update_data_inputencoding

相關用法


注:本文由純淨天空篩選整理自braktim99大神的英文原創作品 Node.js hmac.update() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。