Согласно документации , статический метод UUID.randomUUID()
генерирует UUID типа 4.
Это означает, что шесть битов используются для некоторой информации о типе, а оставшиеся 122 бита назначаются случайным образом.
Шесть неслучайных битов распределяются с четырьмя в наиболее значимой половине UUID и двумя в наименее значимой половине. Таким образом, наиболее значимая половина вашего UUID содержит 60 бит случайности, что означает, что вам в среднем нужно сгенерировать 2 ^ 30 UUID для получения коллизии (по сравнению с 2 ^ 61 для полного UUID).
Так что я бы сказал, что вы в безопасности. Однако обратите внимание, что это совершенно не так для других типов UUID, как упоминает Карл Селеборг.
Кстати, вам будет немного лучше, если использовать наименее значимую половину UUID (или просто сгенерировать случайный длинный с использованием SecureRandom).