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


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


crypto.randomBytes()方法用於生成加密良好構建的人工隨機數據以及要在編寫的代碼中生成的字節數。

用法:

crypto.randomBytes( size, callback )

參數:該方法接受上述和以下所述的兩個參數:



  • size:它是數字類型,指示要生成的字節數。
  • callback:它是由兩個參數err和buf組成的函數。但是,如果在上述代碼中提供了回調函數,則字節將異步生成,否則這些字節將同步生成。

返回類型:如果提供了回調函數,它將返回Buffer。

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

範例1:

// Node.js program to demonstrate the  
// crypto.randomBytes() method 
  
// Including crypto module 
const crypto = require('crypto'); 
  
// Calling randomBytes method with callback 
crypto.randomBytes(127, (err, buf) => { 
  
  if (err)  
  { 
    // Prints error 
    console.log(err); 
  } 
  else
  { 
  
  // Prints random bytes of generated data 
  console.log("The random data is:"
             + buf.toString('hex')); 
    } 
});

輸出:這裏,提供了回調函數,因此可以同步生成隨機字節。

The random data is:074e48c8e3c0bc19f9e22dd7570037392e5d0bf80cf9dd51bb7808872a511b3
c1cd91053fca873a4cb7b2549ec1010a9a1a4c2a6aceead9d115eb9d60a1630e056f3accb10574cd563
371296d4e4e898941231d06d8dd5de35690c4ba94ca12729aa316365145f8a00c410a859c40a46bbb4d
5d51995241eec8f6b7a90415e

範例2:

// Node.js program to demonstrate the  
// crypto.randomBytes() method 
  
// Including crypto module 
const crypto = require('crypto'); 
  
// Calling randomBytes method without callback 
const buf = crypto.randomBytes(60);  
  
// Prints random bytes of generated data 
console.log("The random bytes of data generated is:"
                + buf.toString('utf8'));

輸出:此處,未提供回調函數,因此字節是同步生成的

The random bytes of data generated is:_??i???Z?Z?o?i?W??bEC
?F????#?-??T??jDqmm?v??7?Q?c_G?%?

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




相關用法


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