Создать систему лицензирования? Задача такая: нужно сделать генератор лицензий, в который мы заносим некую информацию с разрешениями для нашего ПО, которая зашифровывается в ключ. Далее ключ передается на удаленную железку, на которой вертится наш софт, софт этот ключик распознает и становится работоспособным. Читал про асимметричное шифрование с открытым ключом, но примеров реализации на java нашел очень мало, в основном все они были завязанные на алгоритме RSA. Коллега подсказал что алгоритм RSA для этого дела не подойдет, т.к. имея закрытый ключ можно и шифровать и дешифровать сообщение.

21 Авг 2019 в 07:10
180 +1
0
Ответы
1

Для создания системы лицензирования, вы можете использовать асимметричное шифрование с использованием других алгоритмов, например, алгоритма Эль-Гамаля или алгоритма ЭЦП (Эллиптическая кривая).

Для реализации на Java можно воспользоваться библиотекой Bouncy Castle, которая поддерживает различные алгоритмы шифрования.

Пример использования алгоритма Эль-Гамаля:

Создание ключевой пары (открытый и закрытый ключ):

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("ElGamal");
KeyPair keyPair = keyGen.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();

Шифрование числа (лицензионной информации) с использованием открытого ключа:

Cipher cipher = Cipher.getInstance("ElGamal");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] encryptedData = cipher.doFinal(dataToEncrypt);

Расшифровка данных с использованием закрытого ключа:

cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] decryptedData = cipher.doFinal(encryptedData);

Передача зашифрованных данных на удаленную машину и их дешифровка для проверки лицензии.

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

Это лишь общий пример реализации, и вам может потребоваться провести дополнительные исследования и настройки для вашей конкретной ситуации.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 436 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир