Генерация и проверка серийного ключа в Java (уникальный идентификатор машины) - PullRequest
2 голосов
/ 05 марта 2012

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

Я уже внедрил подобную систему активации в приложении .NET, генерирующем идентификатор машины, получая серийные номера оборудования из WMI, как я могу получить эти значенияв Java?Решение должно работать независимо от Windows, Linux и Mac Os X.

Как я могу получить уникальный идентификатор машины в Java?Есть ли какая-нибудь библиотека, которая позволяет это делать?

Ответы [ 3 ]

3 голосов
/ 05 марта 2012

MAC-адрес машины (или MAC-адрес одной из машин) является хорошим кандидатом.Он уникален и, вероятно, меняется реже, чем другие идентификаторы оборудования.Вот фрагмент кода:

1 голос
/ 05 марта 2012

Я не думаю, что вы можете получить идентификаторы CPU Id или Harddisk / материнской платы в чистом виде Java.Ближайший у вас есть сетевой MAC-адрес :

NetworkInterface.getNetworkInterfaces().nextElement().getHardwareAddress();
0 голосов
/ 05 марта 2012

Вам нужно назвать что-то платформенное.Например, в Windows вы можете вызвать скрипт VB, который вызывает WMI для получения этой информации.

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

...