Альтернатива в Java 8:
static final Random random = new Random(); // Or SecureRandom
static final int startChar = (int) '!';
static final int endChar = (int) '~';
static String randomString(final int maxLength) {
final int length = random.nextInt(maxLength + 1);
return random.ints(length, startChar, endChar + 1)
.mapToObj((i) -> (char) i)
.collect(StringBuilder::new, StringBuilder::append, StringBuilder::append)
.toString();
}
Да, это возможно. Фактически, это основная функция bittorrent DHT, связывающая несколько < IP-адрес, порт > кортежи с одним ключом.