Если вам требуется сгенерировать строку необходимой длины со значением шестнадцатеричной системы, вы можете воспользоваться следующим кодом:

public static String generateRandomHexString(int length){
    Random r = new Random();
    StringBuffer sb = new StringBuffer();
    while(sb.length() < length){
        sb.append(Integer.toHexString(r.nextInt()));
    }
    return sb.toString().substring(0, length);
}

Этот метод сгенерирует шестнадцатеричную строку требуемой длины.

Вы можете использовать этот метод, передавая ему требуемую длину строки, которую вы хотите получить:

System.out.println(generateRandomHexString(8));
System.out.println(generateRandomHexString(20));

В первом случае будет сгенерирована строка, содержащая восемь символов, а во втором – строка из двадцати символов в HEX формате:

a375f8d7
a9d470d433b19318935a

Если вам нужна строка, состоящая из заглавных букв, воспользуйтесь методом toUpperCase:

System.out.println(generateRandomHexString(20).toUpperCase());
26F3185D8ECBC7EB6361

Как сгенерировать случайную строку с шестнадцатеричным значением