Мне интересно, как я могу установить дату истечения срока действия моего приложения, но так, чтобы клиенты (клиенты на самом деле не существуют, но, допустим, когда-нибудь они будут существовать) необходимо вставить хешированный ключ (мой дата) в их экземпляр продукта. На данный момент я решаю это, как описано ниже, но я думаю, что это не очень хорошая идея. Позвольте мне объяснить:Лицензирование C# Application
Я создал небольшое приложение с помощью сборщика данных, и я выбираю дату, пока мое приложение не будет активным, для пример 7.7.2016, и хранить его в качестве тиков в реестре и читать, что тикает из реестра каждый раз, когда я запускаю свое приложение. Это неплохо, но проблема в том, что я должен запустить приложение на ПК клиентов, чтобы написать в свой реестр, выбрав дату, и это не хорошо, потому что, если я забуду удалить мое маленькое приложение, клиент может установить дату, когда захочет , Другим решением является создание даты на моем локальном компьютере, считывание значения галочки из копии реестра и дистанционное вхождение ключа (значение тика из реестра) или что-то еще на ПК клиента. Но это нехорошее решение, и я не доволен этим, потому что клиент может узнать, где я храню тики и скопировать его на другую машину, а другой и еще ...
Мне было интересно, могу ли я сделать следуйте за:
На моей развивающейся машине я запускаю программное обеспечение для активации (генератор ключей), а затем я могу выбрать дату, пока мое программное обеспечение не будет действительным и не получит идентификатор процессора или жесткого диска и не соединить его создайте хэш [ID + DATE] (поэтому он уникален для каждой отдельной машины) и сохраните его в базе данных или в реестре, независимо от того, и в моем приложении для клиентов я могу в следующий раз «распаковать» хэш, чтобы получить только часть даты, поэтому я могу делать следующие действия каждый раз, когда клиент запускает приложение:
if(DateTime.Now > "HASHED date part")
Message : application has expired!
Могу ли я установить дату + идентификатор и хеш его или защитить его каким-либо образом, поэтому пользователь не может его прочитать или изменить, а позже я сокращу дату и проверьте, действительно ли приложение действует?
Да, это неприемлемо, потому что давайте предположим, что пользователи будут работать в автономном режиме –
Точно так. Это также требует «pinging server», что означает активное подключение к Интернету. Не разумное предположение. –
Интересные, хорошие парни. Лично я был бы рад предположить, что все нуждаются в подключении к Интернету, но это потому, что большинство моих приложений зависят от одного независимо. –