在节点中生成随机32位数

时间:2015-01-21 06:39:09

标签: javascript node.js

在Node中生成32位随机无符号数的最佳方法是什么?这是我试过的:

var max32 = Math.pow(2, 32) - 1
var session = Math.floor(Math.random() * max32);

我需要这个才能获得一个独特的身份。

1 个答案:

答案 0 :(得分:5)

您可以使用crypto.randomBytes()之类的:

var crypto = require('crypto');
function randU32Sync() {
  return crypto.randomBytes(4).readUInt32BE(0, true);
}
// or
function randU32(cb) {
  return crypto.randomBytes(4, function(err, buf) {
    if (err) return cb(err);
    cb(null, buf.readUInt32BE(0, true));
  }
}