📜  Node.js crypto.randomInt() 方法

📅  最后修改于: 2022-05-13 01:56:24.960000             🧑  作者: Mango

Node.js crypto.randomInt() 方法

Node.js 中的Crypto.randomInt方法是 crypto 模块的内置应用程序编程接口,用于根据我们的使用情况同步或异步创建随机整数

句法:

crypto.randomInt([min, ] max [, callback])

参数:此方法接受三个参数,如上所述和如下所述。

  • min:要生成的随机 int 的可选最小值(包括在内)。默认值:0
  • max:生成随机 int 所需的最大值(不包括)。
  • callback:一个可选的回调函数,在生成随机整数后执行。如果指定了回调,则方法异步工作,否则默认同步。

返回值: Crypto.randomInt方法返回一个随机整数n ,例如min <= n < max

注意:范围(max – min)必须小于2 48 & min并且max必须是安全整数

下面的示例说明了在Node.js中使用crypto.randomInt方法。

示例 1:同步

Javascript
const crypto = require("crypto");
  
// Only max value provided
console.log("Random integers less than 50:");
console.log(crypto.randomInt(50));
console.log(crypto.randomInt(50));
console.log(crypto.randomInt(50));
console.log();
  
// Min value also provided
console.log("Random integers in range 30-50:");
console.log(crypto.randomInt(30, 50));
console.log(crypto.randomInt(30, 50));
console.log(crypto.randomInt(30, 50));


Javascript
const crypto = require("crypto");
  
// Asynchronous
crypto.randomInt(50, (err, result) => {
  if (err) console.log("Some error occured while"+
                       " generating random integer !");
  else console.log("Random integer with max limit 50:", result);
});
  
// Asynchronous with both min & max
crypto.randomInt(20, 50, (err, result) => {
  if (err) console.log("Some error occured while "+
                       "generating random integer !");
  else console.log("Random integer in range 20-50:", result);
});


输出:

示例 2:异步

Javascript

const crypto = require("crypto");
  
// Asynchronous
crypto.randomInt(50, (err, result) => {
  if (err) console.log("Some error occured while"+
                       " generating random integer !");
  else console.log("Random integer with max limit 50:", result);
});
  
// Asynchronous with both min & max
crypto.randomInt(20, 50, (err, result) => {
  if (err) console.log("Some error occured while "+
                       "generating random integer !");
  else console.log("Random integer in range 20-50:", result);
});

输出 :

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