Возможно, не обязательно неправильно , но преобразование буфера в его шестнадцатеричное строковое представление для последующего синтаксического анализа его в число кажется, по меньшей мере, не очень простым и излишне ресурсоемким.
Буферные read
методы в основном выполняют числовые операции (например, здесь ) и должны быть намного менее ресурсоемкими, а также, на мой взгляд, более простыми для интерпретации для любого, кто читает ваш код.
function randomUInt32() {
return crypto.randomBytes(4).readUInt32BE();
}
против
function randomUInt32() {
return parseInt(crypto.randomBytes(4).toString("hex"), 16);
}