Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/55: Рейтинг темы: голосов - 55, средняя оценка - 4.82
2 / 2 / 0
Регистрация: 23.12.2016
Сообщений: 80

Активация программы через ключ на временный срок!

22.03.2017, 18:33. Показов 11891. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Я хочу сделать активацию программы через ключ.

Как именно все работает.

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

Он копирует этот ключ и скидывает мне я его активирую на хостинге в txt файле, где лежат все ключи.

После активации пользователь запускает программу и открывает уже 2 форма активированная.

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

Как сделать активацию например на 31 день?

Чтобы после добавления на хостинг в txt файл, ключ покупателя у него она была активирована на 31 день.

А на активированной форме 2 отображалось надпись ключ активирован осталось (30 дней)

И эти цифры должны будут уменьшатся каждый день, до 0, когда 31 заканчивается, форма возвращается статус не активирован и кидает на форму 1.



Пожалуйста помогите именно кодом.

Добавлено через 18 минут
Ребят прощу помощи!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.03.2017, 18:33
Ответы с готовыми решениями:

Активация программы через ключ
Как можно реализовать активацию одного ключи на один компьютер? То есть чтобы другие не могли его активировать. список ключей...

Windows 7 - активация через KMS и ключ/лицензия
Добрый день. На работе установил винду 7 на ноут, активировал от корпоративного KMS сервера. Все нормально, пишет, что легальная,...

Активация программы через интернет
Ребят, помогите мне сделать активацю для бейсика. То есть, Мне дано что бы в .тхт файл который лежит на хостинге были написаны пароли, И...

15
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
22.03.2017, 19:02
Цитата Сообщение от Alexey Number Посмотреть сообщение
Как сделать активацию например на 31 день?
Использовать готовые средства (например, X509 сертификаты, с установленной датой действия).
1
2 / 2 / 0
Регистрация: 23.12.2016
Сообщений: 80
22.03.2017, 19:44  [ТС]
Братан можно поподробней?
Если есть примеры или код.

Или исходник то поделитесь пожалуйста.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
22.03.2017, 19:47
Лучший ответ Сообщение было отмечено Alexey Number как решение

Решение

Цитата Сообщение от Alexey Number Посмотреть сообщение
можно поподробней?
Почему нет, можно.
Пишется WCF служба, расположенная на сервере. Она, во-первых, по вашему запросу генерирует сертификаты на основе введенных данных, и во-вторых, при запуске программы-клиента проверяет наличие сертификата и его валидность по отношению к данному клиенту. Особо ничего сложного тут нет, все стандартно.
Цитата Сообщение от Alexey Number Посмотреть сообщение
Если есть примеры или код.
Нет, я такого не делал, не было необходимости, но реализовать это не сложно.
1
2 / 2 / 0
Регистрация: 23.12.2016
Сообщений: 80
22.03.2017, 19:56  [ТС]
Спасибо, но где можно найти код для c#.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
22.03.2017, 19:58
Цитата Сообщение от Alexey Number Посмотреть сообщение
где можно найти код для c#.
Только написать его самому, естественно. Подождите, может кто-то найдет время и реализует для вас такую задачу.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
22.03.2017, 20:04
Цитата Сообщение от Alexey Number Посмотреть сообщение
Но сразу же проблема, активация получается только на постоянный срок.
До того пока ключ из базы не уберешь у пользователя он всегда будет активен.
А в чем проблема настроить сервер чтобы ключи автоматически удалялись после истечения времени?
0
2 / 2 / 0
Регистрация: 23.12.2016
Сообщений: 80
23.03.2017, 00:36  [ТС]
надеюсь кто не будь поможет с кодом.
0
0 / 0 / 0
Регистрация: 04.03.2016
Сообщений: 15
23.03.2017, 07:23
Что мешает в тот же txt записывать и дату создания ключа?
0
2 / 2 / 4
Регистрация: 03.11.2015
Сообщений: 191
24.03.2017, 11:19
Цитата Сообщение от space_voice Посмотреть сообщение
Что мешает в тот же txt записывать и дату создания ключа?
+ А уже в самом софте сравнивать число на момент данного запуска софта и число когда был активирован (добавлен в ваш txt) сам ключ . ps : криво но должно получиться .
0
2 / 2 / 0
Регистрация: 23.12.2016
Сообщений: 80
27.03.2017, 06:43  [ТС]
Здравствуйте!

Я хочу сделать привязку к hwid, но есть проблема.

Привязку я уже сделал и она отлично работает.

как собственно все сделано.

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

Как можно сделать такую активацию на время.

Чтобы ключ автоматически удалялся из базы когда время вышло.


То есть активация на пример на месяц (31).

Я пробовал сделать через mysql таблицу базы данных, там все работает, но у меня ошибку часто выбивает соединения.

Мне надо через хостинг.

Код формы.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
private Form5 form5;
        public static string _key = CalculateMD5Hash(GetHWID()).ToLower();
        public static string _isactivted = "Activated - " + _key + "%";
        public static string _server = "тут ссылка на мой хостинг";
 
        public Form1()
        {
            InitializeComponent();
 
            this.Load += new EventHandler(Form1_Load);
 
            CheckHost();
            TextBox1.Text = _key;
            CheckHost();
            if (GET(_server, _key))
            {
                Button1.Enabled = true;
 
                Label2.Text = "Ключ активирован!";
            }
        }
 
        public static string CalculateMD5Hash(string input)
        {
 
            // Primeiro passo, calcular o MD5 hash a partir da string
            MD5 md5 = System.Security.Cryptography.MD5.Create();
            byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
            byte[] hash = md5.ComputeHash(inputBytes);
 
            // Segundo passo, converter o array de bytes em uma string haxadecimal
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < hash.Length; i++)
            {
                sb.Append(hash[i].ToString("X2"));
            }
            return sb.ToString();
        }
        private static string GetHWID()
        {
            var mbs = new ManagementObjectSearcher("Select ProcessorId From Win32_processor");
            ManagementObjectCollection mbsList = mbs.Get();
            string id = "";
            foreach (ManagementObject mo in mbsList)
            {
                id = mo["ProcessorId"].ToString();
                break;
            }
            return id;
        }
        private static bool GET(string Url, string Data)
        {
            System.Net.WebRequest req = System.Net.WebRequest.Create(Url + "?idname=" + Data);
            System.Net.WebResponse resp = req.GetResponse();
            System.IO.Stream stream = resp.GetResponseStream();
            System.IO.StreamReader sr = new System.IO.StreamReader(stream);
            string Out = sr.ReadToEnd();
            sr.Close();
            if (_isactivted.Equals(Out))
            {
                return true;
            }
            else return false;
        }
Добавлено через 2 часа 19 минут
update

Добавлено через 3 часа 2 минуты
update
0
964 / 485 / 241
Регистрация: 02.06.2016
Сообщений: 760
27.03.2017, 06:55
Alexey Number, так в чем проблема? в удалении? Не нужно удалять, нужно хранить время жизни лицензии или время окончания и сравнивать с текущей датой (на сервере), чистить нерабочие лицензии вручную при техобслуживании.
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
27.03.2017, 07:01
Alexey Number, не плодите темы по одному и тому же вопросу.
0
2 / 2 / 0
Регистрация: 23.12.2016
Сообщений: 80
27.03.2017, 21:35  [ТС]
Подскажите код)

Добавлено через 13 часов 48 минут
Цитата Сообщение от Aael Посмотреть сообщение
Alexey Number, так в чем проблема? в удалении? Не нужно удалять, нужно хранить время жизни лицензии или время окончания и сравнивать с текущей датой (на сервере), чистить нерабочие лицензии вручную при техобслуживании.
Может тогда подскажешь как это на хостинг в базу записать? и как на форму?
Не кто еще нормально не помог, как это реализовать?
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,440
28.03.2017, 04:18
Цитата Сообщение от Alexey Number Посмотреть сообщение
Не кто еще нормально не помог
Твоё "нормально помочь" подразумевает сделать всё за тебя, на что желающих, как ты видишь, не нашлось. Халява - это такое дело непредсказуемое, она то есть, то её нет.

Придётся тебе собрать волю в кулак и начать прорабатывать данный вопрос самостоятельно. Начни с изучения языка, классов TcpListener\TcpServer (а лучше сразу WCF), с изучения языка SQL, классов из ADO.NET (потом можно будет и Entity Framework), ASP.NET MVC (если нужно будет сотворить web-приложение или REST-службу).

У тебя впереди длинная дорога. И тем она будет длинее, чем больше ты будешь просить "подсказать код" (ака халява приди, "чёто знать" - уйди).
0
1 / 1 / 1
Регистрация: 25.03.2016
Сообщений: 112
11.02.2018, 22:54
Парень, самый лёгкий способ сделать сервер-клиент, с сервера ты будешь получать данные на твою программу, при этом при декомпиляции программы люди которые захотели халявы получат пустой код, а если попробуют обмануть программу(Сервер) то просто они Ло****тся , так как если сделать проверку данных на сервере на каждую функцию клиента ничего страшного не произойдёт.
если будет нужна помощь пиши
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.02.2018, 22:54
Помогаю со студенческими работами здесь

Активация программы через СМС: что для этого нужно
Ребят, вот такая вот проблема Я хочу сделать своей программе месячную активацию посредством СМС, т.е для того, чтобы купить лицензию...

Лицензия программы на ограниченный срок
Хочу сделать лицензию на программу по неделе. Как это лучше всего реализовать?

Активация программы
возможно ли сделать так тчобы программа сама себя активировала?? Как? Почему нет?

Активация программы
Привет, можете подсказать как сделать активацию программы? Короче, сделал хорошую прогу и нужно, чтобы она через некоторое время(примерно...

Лицензия программы и определенный срок действия
Как можно сделать лицензию для программы ? Там нужно проводить запись в рестре ? Вот к примеру как антивирус - работающий 1 год при покупке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru