Как добавить лицензирование в Java-программу? [закрыто]

StackOverflow https://stackoverflow.com/questions/1626163

Вопрос

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

Как я могу это сделать?

Я знаю, что не могу защитить его полностью. Мне просто нужна простая функциональность последовательного ключа, чтобы не техническим специалистам и начинающим программистам было бы трудно взломать систему безопасности.

Это было полезно?

Решение

Я упомянул EasyLicencer (который обеспечивает достойный уровень < a href = "http://www.agilis-sw.com/ezlm/protection.htm" rel = "nofollow noreferrer"> защита от обратного инжиниринга) в предыдущем answer . Вы найдете другие варианты в обсуждении. Для решения с открытым исходным кодом ознакомьтесь с коллекцией библиотек TrueLicense , но для этого может потребоваться больше работы над вашим сторона.

Другие советы

Доступны стандартные библиотеки. (Быстрый поиск в Google обнаружил продукт под названием JLicense , например.) Но это не так сложно, а также более гибко реализовать свой собственный механизм. Одним из простых подходов было бы вычисление хэша SHA-1 имени клиента плюс немного жестко запрограммированной соли. Кодируйте результат в виде буквенно-цифровых символов, и вы получите лицензионный ключ. Теперь, когда кто-то собирается установить ваш продукт, спросите его имя клиента и лицензионный ключ. Пересчитайте хеш и сравните его с ключом клиента, который пользователь дал вам для аутентификации ключа.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top