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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。