我想使用NodeJS中的randomBytes生成随机数。环顾四周后,我发现了一种将缓冲区转换为整数的方法;
const integer = parseInt(buffer.toString("hex"), 16)
使用此方法是否有问题。我已经看到了其他使用buffer.readUIntBE
和其他类似方法的解决方案。我想知道他们比上面的解决方案有什么优势
答案 0 :(得分:0)
也许不一定是错误,但是将缓冲区转换为其十六进制字符串表示形式,然后将其解析为一个数字,至少可以说,这不是很简单且不必要的资源消耗。
缓冲区read
方法主要执行数字运算(例如here),并且应该减少资源消耗,同时,我认为,无论谁读取您的代码,都更容易解释。
function randomUInt32() {
return crypto.randomBytes(4).readUInt32BE();
}
vs。
function randomUInt32() {
return parseInt(crypto.randomBytes(4).toString("hex"), 16);
}