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


Node.js crypto.createHash()用法及代碼示例


crypto.createHash()方法用於創建一個哈希對象,該哈希對象可通過使用所述算法創建哈希摘要。

用法:

crypto.createHash( algorithm, options )

參數:此方法接受兩個參數,如avobe所述,如下所述:



  • algorithm:它取決於平台上的OpenSSL版本所支持的可訪問算法。它返回字符串。示例是sha256,sha512等。
  • options:它是可選參數,用於控製流的行為。它返回一個對象。此外,對於XOF哈希函數(如“ shake256”),選項outputLength可用於確定所需的輸出長度(以字節為單位)。

返回類型:它返回哈希對象。

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

範例1:

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

輸出:

df287dfc1406ed2b692e1c2c783bb5cec97eac53151ee1d9810397aa0afa0d89

範例2:

// Node.js program to demonstrate the      
// crypto.createHash() method 
  
// Defining filename 
const filename = process.argv[2]; 
  
// Includes crypto and  fs module 
const crypto = require('crypto'); 
const fs = require('fs'); 
  
// Creating Hash  
const hash = crypto.createHash('sha256', 'Geeksforgeeks'); 
  
// Creating read stream 
const input = fs.createReadStream(filename); 
  
input.on('readable', () => { 
   
 // Calling read method to read data 
  const data = input.read(); 
  if (data) 
      
    // Updating 
    hash.update(data); 
  else
   { 
    // Encoding and displaying filename 
    console.log(`${hash.digest('base64')} ${filename}`); 
  } 
}); 
console.log("Program done!");

輸出:

Program done!
n95mt3468ZzAIwu/bbNU7dej6CoFkDRcNaJo7rGpLF4= index.js

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




相關用法


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