как создать уникальный идентификатор для каждого устройства в сети Peer-Peer Ad hoc

Я разрабатываю приложение для однорангового разговора в специальной сети. когда одноранговый узел хочет связаться с другим одноранговым узлом, он использует свой IP-адрес для подключения. Как только устройства соединяются друг с другом в сети Ad-hoc, каждому из них назначается IP-адрес, но мне нужна меньшая строка (из 4-6 символов) в качестве уникального идентификатора для каждого устройства в сети ad-hoc. . Поскольку это одноранговая сеть, в ней нет сервера (который может генерировать уникальный идентификатор), поэтому ответственность за создание уникального идентификатора лежит на каждом узле. Я ищу механизм или алгоритм для создания уникального идентификатора в java.


person Nirmal_stack    schedule 03.04.2017    source источник
comment
какой язык программирования   -  person 134    schedule 03.04.2017
comment
Просто нужна идея или механизм, чтобы сделать это.   -  person Nirmal_stack    schedule 03.04.2017
comment
@134 У вас есть решение этой проблемы?   -  person Nirmal_stack    schedule 03.04.2017
comment
да, попробуйте ответ, который приведен ниже (java)   -  person 134    schedule 03.04.2017


Ответы (2)


Это, вероятно, лучше всего решается с помощью MAC-адреса интерфейса каждого устройства. MAC-адреса в стандартной реализации уникальны для каждого сетевого интерфейса, поэтому каждое из ваших устройств уже имеет уникальный номер. Вы можете использовать этот адрес напрямую или в качестве начального значения для создания производных идентификаторов.

person Liam Kelly    schedule 03.04.2017

Используйте приведенный ниже код для генерации случайных чисел с 6 символами.

private static SecureRandom random = new SecureRandom();

public static String getUniqueId() {
    return new BigInteger(130, random).toString(32).substring(0, 6);
}
person 134    schedule 03.04.2017