Генерация случайного BigInt в JavaScript

Чтобы сгенерировать случайный BigInt в JavaScript, вы можете использовать следующие методы:

  1. Использование Math.random() и Math.floor(): вы можете сгенерировать случайное число с плавающей запятой от 0 до 1, используя Math.random(), а затем умножить его. на большое число и округлите его в меньшую сторону, используя Math.floor(), чтобы получить целое число. Наконец, преобразуйте это целое число в BigInt с помощью конструктора BigInt().
const randomBigInt = () => {
  const randomFloat = Math.random();
  const largeNumber = 1e17; // Adjust this based on your desired range
  const randomInteger = Math.floor(randomFloat * largeNumber);
  return BigInt(randomInteger);
};
const randomNum = randomBigInt();
console.log(randomNum);
  1. Использование API шифрования. Если вам нужен криптографически безопасный случайный BigInt, вы можете использовать API Web Crypto. Этот метод обеспечивает более высокий уровень случайности.
const randomBigInt = async () => {
  const randomBytes = new Uint8Array(16); // Adjust the byte length as needed
  await crypto.getRandomValues(randomBytes);

  let result = "";
  for (let i = 0; i < randomBytes.length; i++) {
    result += randomBytes[i].toString(16).padStart(2, "0");
  }

  return BigInt("0x" + result);
};
randomBigInt().then(randomNum => console.log(randomNum));