在Node中生成32位随机无符号数的最佳方法是什么?这是我试过的:
var max32 = Math.pow(2, 32) - 1
var session = Math.floor(Math.random() * max32);
我需要这个才能获得一个独特的身份。
答案 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));
}
}