generateRandomBigInt function

BigInt generateRandomBigInt(
  1. BigInt min,
  2. BigInt max
)

Generates a random BigInt in the range min, max.

Implementation

BigInt generateRandomBigInt(BigInt min, BigInt max) {
  final range = max - min + BigInt.one;
  final bytesNeeded = (range.bitLength + 7) ~/ 8;

  BigInt result;
  do {
    final bytes = generateRandomBytes(bytesNeeded);
    result = bytes.toBigInt();
  } while (result >= range);

  return result + min;
}