当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js crypto.createHmac()用法及代码示例


crypto.createHmac()方法用于创建使用规定的“算法”和“ key ”的Hmac对象。

用法:

crypto.createHmac( algorithm, key, options )

参数:此方法接受avobe所述的三个参数,如下所述:



  • algorithm:它取决于平台上的OpenSSL版本所支持的可访问算法。它返回字符串。示例是sha256,sha512等。
  • key:这是HMAC key ,用于创建加密的HMAC哈希。它返回字符串,Buffer,TypedArray,DataView或KeyObject。如果它是KeyObject,则其类型必须是秘密的。
  • options:它是可选参数,用于控制流的行为。它返回一个对象。

返回类型:它返回Hmac对象。

以下示例说明了Node.js中crypto.createHmac()方法的使用:

范例1:

// 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);

输出:

a08116905e92633e4f30eefd1276206b259305c8783642fc5b7f51c089187939

范例2:

// 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();

输出:

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

参考: https://nodejs.org/api/crypto.html#crypto_crypto_createhmac_algorithm_key_options




相关用法


注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 Node.js | crypto.createHmac() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。