Я пишу прикладное программное обеспечение, для которого пользователю необходимо купить лицензию и активировать ее. Мне нужны предложения о том, как начать писать мощный алгоритм генерации кода и, конечно, проверку кода. Я знаю, что люди могут перепроектировать код и сделать кейген, однако, мой вопрос состоит из двух частей:Алгоритм активации ключа - Безопасность
В целом, независимо от приложения взлома таким образом, как я могу начать писать алгоритм, чтобы принять определенный Serial или String или комбинация. (например, это то, что правильно, например: первое число от 3 до 9, второе должно быть первым - 3, в то время как третье число должно быть вторым * + .... независимо ...?)
Каков наилучший подход для защиты настольного приложения от пиратства без использования Интернета. Это алгоритм (сделать его сложнее для обратного проектирования), защитить исходный код от видимости после того, как приложение установлено где-то? ... ??
PS: Возможно, стоит упомянуть, что я использую Java в качестве языка разработки. Благодаря
Он составлен. Приложение JAVA Desktop. –
@Saher, обновил мой ответ. – labratmatt
Проблема с криптографией с открытым ключом для генерации серийных номеров заключается в том, что она создает невероятно длинные коды, которые трудно вводить пользователю. 1024-битный ключ генерирует код длиной примерно 200 символов, если кодировка base32. Это даже не учитывает проблемы человеческого восприятия, такие как ошибки 1 (один) и l (нижний регистр L). –