Source: tools/Random.js

  1. const { randomBytes } = require('crypto');
  2. /**
  3. * Uses crypto.randomBytes() to generate a 32 bit signed random number.
  4. *
  5. * @return {Number} a 32-bit signed integer.
  6. */
  7. const getRandomNumber = () => {
  8. const buf = randomBytes(4);
  9. let i = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[0];
  10. return i;
  11. };
  12. module.exports = Object.freeze({
  13. getRandomNumber
  14. });