import java.math.BigInteger;
import java.security.SecureRandom;
public class Generate20DigitsRandomNumber_Java {
public static void main(String[] args) {
SecureRandom random = new SecureRandom();
// Generate a random number with 20 digits by taking the modulo the random number
// with 10^20, it ensures that the result is a number between 0 and 99999999999999999999
// bitLength = 130 = number will have approximately 39 decimal digits
// new BigInteger("10").pow(20) = 100000000000000000000
BigInteger randomNumber = new BigInteger(130, random).mod(new BigInteger("10").pow(20));
System.out.println(randomNumber);
}
}
/*
run:
83959522836397842242
*/