Мне нужно сгенерировать уникальный код с одного ПК, мое ПО будет распространяться по лицензии, а локально мне нужно идентифицировать среду и отправить этот код на сервер. Я не хочу поддерживать на сервере порядковый номер, и каждый клиент получает номер последовательности, я пытался прочитать MAC-адрес из NetworkInterfaces, но это небезопасно, пользователь может легко изменить MAC-адрес. Я думаю, что лучший способ прочитать серийный номер материнской платы, но я не нашел способа до сих пор. Любое предложение?
Уникальное оборудование для идентификации компьютеров на основе Java
Ответы (2)
Сколько стоит ваше программное обеспечение?
Много ли на целевом рынке пиратского программного обеспечения?
Чтение серийного номера материнской платы возможно на компьютерах с Windows с помощью WMI
Используйте WMI для чтения серийного номера http://www.c-sharpcorner.com/UploadFile/GemingLeader/mb-sn-wmi08242009101325AM/mb-sn-wmi.aspx
Используйте WMI из Java http://henryranch.net/software/jwmi-query-windows-wmi-from-java/
WMI не работает на членах домена Windows XP в домене AD, если они используют групповые политики.
(Это касается только большинства корпоративных пользователей XP, так что ничего страшного)
Надеюсь, это немного поможет (MAC-адрес проще... но его легко изменить)
MAC-адрес ненадежен. Вы должны стремиться к чему-то, что нельзя изменить, например, идентификатор ЦП или идентификатор жесткого диска IDE. Вот что я имею в виду: http://www.soft.tahionic.com/download-hdd_id/index.html
К сожалению, я не думаю, что DLL работает с Java, но, по крайней мере, она покажет вам некоторую информацию о том, что надежно, а что нет.