Генерация уникального постоянного идентификатора машины в java - PullRequest
0 голосов
/ 18 января 2020

Я разработал программное обеспечение в JAVA, в котором мне нужно зарегистрировать пользовательский компьютер в моей базе данных.

Каждый пользовательский компьютер должен быть уникальным, если пользователь входит в систему с другого компьютера. должен быть обнаружен.

Для этого я использую wmi c команды, чтобы получить ProcessorId и Baseboard SerialNumber.

Я добавляю серийный номер материнской платы к CPUIID для большей уникальности , Но проблема в том, что я получаю один и тот же ProcessorId + SerialNumber для 2 разных машин.
Для Например: Машина 1 = abcd-123
Машина 2 = abcd-123

Также серийный номер платы выдавая вывод типа " N / A ", " Неизвестно ", " Для использования в поле OEM ".

Я думал о wmi c csproduct get UUID , который дает Материнской плате UUID,
, но я боюсь двойственности того же, так как многие пользователи уже зарегистрировали свои машины и используют программное обеспечение.

Ситуация
Пользователь-1 уже зарегистрирован с машинным текстом abcd-123 (номер процессора-basebord Sr)
Теперь пользователь-2 впервые входит в систему с другого компьютера с тем же машинным текстом, т. е. abcd-123
Во время проверки машины на сервере машина пользователя 2 показывается как уже зарегистрированная, поэтому пользователь 2 не может продолжить.

Пожалуйста, помогите мне решить проблему.

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Для этого я использовал пользовательский uuid с помощью команды wmi c.
wmi c csproduct get uuid
Это уникально для каждой материнской платы.
ЕСЛИ UUID недоступен, я использовал processorId + MobileNo

В ТЕЧЕНИЕ ЭТОГО РЕШЕНА МОЯ ПРОБЛЕМА.

0 голосов
/ 18 января 2020

Использовать UUID.

https://www.quora.com/Has-there-ever-been-a-UUID-collision

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

...