Могу ли я сгенерировать UID на основе спецификаций системы в Java?

Я работаю над игрой MMORPG, построенной на Java, при этом конечный пользователь запускает исполняемый файл Java (клиент) в своей системе, который подключается к нашей игре (серверу).

Иногда вы получаете некоторых игроков, которые менее чем хороши и требуют бана, некоторые люди, однако, действительно настойчивы, которые требуют бана IP, а затем есть третий тип людей, которые имеют знания о компьютерах выше среднего и знают, как измениться ( или маскировать с помощью vpn/прокси) их IP.

Чтобы бороться с этими последними типами людей, мы использовали для создания файла UID где-то в их папке AppData с уникальным ключом, генерируемым при запуске клиента (если файл не найден, он будет генерировать его для них, но недостаток здесь в том, что если кто-то находит этот файл, они могли бы легко просто удалить его, и при следующем запуске он воссоздал бы для них новый и другой)

Некоторое время назад я где-то читал, что Microsoft создает «отпечаток пальца» на основе нескольких системных спецификаций, которые в значительной степени уникальны для каждой системы, но при регенерации будет получен один и тот же ключ, поэтому вы можете переустановить Windows 10 без необходимости использовать какой-либо серийный номер. Возможна ли такая система на чистой Java?

Подводя итог, нам нужен уникальный ключ для каждой машины, на которой он запускается (или, по крайней мере, очень-очень маленькая вероятность создания дубликата ключа), но если код генерации будет запущен снова, он должен сгенерировать тот же ключ.


person Alex    schedule 17.07.2019    source источник
comment
Я что-то упустил или что-то не так с использованием учетных записей пользователей?   -  person f1sh    schedule 17.07.2019
comment
Взгляните на этот вопрос: stackoverflow.com/questions/ 99880/ Автор использует инструмент под названием WMI, и для доступа к этому инструменту должны быть некоторые библиотеки Java (еще один вопрос, который может оказаться полезным: stackoverflow.com/questions/4610063/)   -  person Gregory Witek    schedule 17.07.2019
comment
@f1sh, учетные записи можно создавать бесплатно, поэтому любой, кто хочет, может просто создавать бесконечное количество новых учетных записей. Я не уверен, почему кто-то хотел понизить это ... возможно, они не понимают вопроса   -  person Alex    schedule 17.07.2019
comment
@GregoryWitek Спасибо, это полезно, но знаете ли вы какие-либо альтернативы Mac или Linux?   -  person Alex    schedule 17.07.2019
comment
Люди со знаниями выше среднего увидят тот же UID и изменят его вручную. К тому же конфигурация компьютера может меняться по целому ряду причин, сводящих на нет цель. Другой способ — запрет адресов электронной почты.   -  person Mark Jeronimus    schedule 17.07.2019