Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Khaker_tt
30 / 30 / 6
Регистрация: 24.11.2015
Сообщений: 330
Завершенные тесты: 1
#1

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

23.01.2016, 09:39. Просмотров 1402. Ответов 15
Метки нет (Все метки)

Здравствуйте Уважаемые форумчане.
как составить лицензионный ключ для своей программы?
Как и куда сохраняется ключ для активации?
Откуда программа понимает соответствующий ключ?
Заранее спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2016, 09:39
Ответы с готовыми решениями:

Как узнать лицензионный ключ Windows
Доброе время суток. Подскажите пожалуйста как можно узнать Prodyct key от...

Как создать установщик для своего приложения
давно хочу написать установкщик,но весь гугл перерыв не нашел.вот все...

Узнать лицензионный ключ Windows
Всем привет! Есть код, но не знаю конечно на сколько он правильно и корректно...

Задать глобально горячие клавиши только для своего приложения
Private Sub Avtorizacia_KeyDown(ByVal sender As Object, ByVal e As...

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

15
Yury Komar
Модератор
Эксперт .NET
2368 / 2173 / 348
Регистрация: 27.01.2014
Сообщений: 3,912
Завершенные тесты: 1
23.01.2016, 11:09 #2
Khaker_tt, вам нужен один ключ или механизм проверки правильности введенного ключа? Соответственно нужен и генератор ключа?

Какого вида ключ вы хотите создать? Дайте больше информации.
1
Khaker_tt
30 / 30 / 6
Регистрация: 24.11.2015
Сообщений: 330
Завершенные тесты: 1
23.01.2016, 12:13  [ТС] #3
Yury Komar, Мне нужен механизм проверки правильности введенного ключа.

Добавлено через 35 минут
Допустим такой ключ GYH-NDJ-JDH-hjd-fjd.

Добавлено через 13 минут
то есть регистрация для своей программы.
0
Yury Komar
Модератор
Эксперт .NET
2368 / 2173 / 348
Регистрация: 27.01.2014
Сообщений: 3,912
Завершенные тесты: 1
23.01.2016, 12:37 #4
Khaker_tt, а как вы создаете этот ключ? или это просто строка текста?

ну тогда самый простой способ - это:
vb.net
1
If Text = "GYH-NDJ-JDH-hjd-fjd" Then Msgbox("Пароль верный.!")
4
Khaker_tt
30 / 30 / 6
Регистрация: 24.11.2015
Сообщений: 330
Завершенные тесты: 1
23.01.2016, 13:00  [ТС] #5
Yury Komar, Нет. Это очень простой способ я по моему неправильно сформулировал вопрос извиняюсь за неудобства. Мне нужно чтобы как то было динамично. Допустим кто та хочет использовать мою программу он должен взят у меня код активации. И этот код должен работать на один компьютер а на другой он уже не рабочий.
0
Yury Komar
Модератор
Эксперт .NET
2368 / 2173 / 348
Регистрация: 27.01.2014
Сообщений: 3,912
Завершенные тесты: 1
23.01.2016, 13:51 #6
Лучший ответ Сообщение было отмечено edward_freedom как решение

Решение

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

Добавлено через 21 минуту
Скажем так, вот следующий алгоритм проверки пароля, не очень сложный, но и не такой простой как обычный текст:
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    Public Function CheckKey(KeyString As String) As Boolean
        If KeyString Is Nothing Or Not KeyString.Contains("-") Then Return Nothing
        Dim KeyParts() As String = KeyString.Split("-")
 
        If Strings.Mid(KeyParts(0), 2, 1) = "Y" Then
            If Strings.Mid(KeyParts(1), 2, 1) = "U" Then
                If Strings.Mid(KeyParts(2), 2, 1) = "R" Then
                    If Strings.Mid(KeyParts(3), 2, 1) = "I" Then
                        If Strings.Mid(KeyParts(4), 2, 1) = "Y" Then
                            Return True
                        End If
                    End If
                End If
            End If
        End If
        Return False
    End Function
Просто зашиваете слово, например YURIY (как в данном примере) в ваш пароль и прячете среди других символов, конечно сложность пароля может быть разной, на ваш вкус, я привел просто пример, чтобы натолкнуть на мысль.

Вот такие пароли успешно подойдут для авторизации по данной функции:
mYS-4Uc-AR5-QI1-qY7
SYm-cU4-5RA-1IQ-7Yq
aYURIY-LUM-PRO-SILK-KYARIO


Идею подал...

Добавлено через 2 минуты
разработайте алгоритм проверки ключа, которые выданы для 1,2 или Unlimited и проверяйте на совпадения какие-то конкретные части пароля...
11
Khaker_tt
30 / 30 / 6
Регистрация: 24.11.2015
Сообщений: 330
Завершенные тесты: 1
23.01.2016, 17:14  [ТС] #7
Yury Komar, Спасибо огромное я проверил.

Добавлено через 2 часа 27 минут
Yury Komar, По этой же функцию как создать генератор паролей? Заранее спасибо.
0
Yury Komar
Модератор
Эксперт .NET
2368 / 2173 / 348
Регистрация: 27.01.2014
Сообщений: 3,912
Завершенные тесты: 1
23.01.2016, 17:32 #8
Khaker_tt, да легко:
vb.net
1
2
3
4
5
6
7
8
9
10
    Public Function GeneratePassword() As String
        Dim kp(4) As String
        Dim rnd As New Random()
        kp(0) = ChrW(rnd.Next(65, 91)) & "Y" & ChrW(rnd.Next(65, 91))
        kp(1) = ChrW(rnd.Next(65, 91)) & "U" & ChrW(rnd.Next(65, 91))
        kp(2) = ChrW(rnd.Next(65, 91)) & "R" & ChrW(rnd.Next(65, 91))
        kp(3) = ChrW(rnd.Next(65, 91)) & "I" & ChrW(rnd.Next(65, 91))
        kp(4) = ChrW(rnd.Next(65, 91)) & "Y" & ChrW(rnd.Next(65, 91))
        Return kp(0) & "-" & kp(1) & "-" & kp(2) & "-" & kp(3) & "-" & kp(4)
    End Function
использование
vb.net
1
MsgBox(GeneratePassword)
9
Yury Komar
Модератор
Эксперт .NET
2368 / 2173 / 348
Регистрация: 27.01.2014
Сообщений: 3,912
Завершенные тесты: 1
23.01.2016, 17:34 #9
пример работы
7
Изображения
 
Khaker_tt
30 / 30 / 6
Регистрация: 24.11.2015
Сообщений: 330
Завершенные тесты: 1
23.01.2016, 17:37  [ТС] #10
Yury Komar, Очень Благодарен. Все отлично работает.
0
Yury Komar
Модератор
Эксперт .NET
2368 / 2173 / 348
Регистрация: 27.01.2014
Сообщений: 3,912
Завершенные тесты: 1
23.01.2016, 17:46 #11
Khaker_tt,
2
Alexey Number
2 / 2 / 0
Регистрация: 23.12.2016
Сообщений: 80
29.05.2017, 05:51 #12
Цитата Сообщение от Yury Komar Посмотреть сообщение
Скажем так, вот следующий алгоритм проверки пароля, не очень сложный, но и не такой простой как обычный текст:
Yury Komar, Привет а как это подключить к textbox.
0
Qusar
8 / 8 / 0
Регистрация: 25.04.2013
Сообщений: 47
29.05.2017, 06:16 #13
Можно еще исходить из даты до которой программа активирована. Допустим до 01.11.2017, в числовом эквиваленте эта дата 43040. В программу записываем алгоритм, который из последовательности цифр получает число формата 4XXXX. Пользователь вводит код, программа его обрабатывает и получает дату до которой программа активирована и записывает код в реестр. Чем сложнее будет алгоритм, тем сложнее будет хакнуть программу.
0
Yury Komar
Модератор
Эксперт .NET
2368 / 2173 / 348
Регистрация: 27.01.2014
Сообщений: 3,912
Завершенные тесты: 1
29.05.2017, 07:01 #14
Qusar, что прятать в пароль - дело ваше.
Вот только прятать пароль в реестре нужно не в открытом виде, а лучше в зашифрованном...

Добавлено через 2 минуты
Alexey Number, что значит подключить?
так?
vb.net
1
2
3
4
5
If CheckKey(TextBox1.Text) Then
    MsgBox("Пароль верный")
Else
    MsgBox("Пароль неверный")
End If
1
Alexey Number
2 / 2 / 0
Регистрация: 23.12.2016
Сообщений: 80
29.05.2017, 09:18 #15
Спасибо все работает!

А как можно генератор ключей выводить не в сообщении а в textbox как на картинке у тебя?
Или еще лучше сохранять весь текст из textbox в txt на рабочий стол, чтобы удобнее было.
0
Orlangur1991
1049 / 983 / 240
Регистрация: 28.11.2014
Сообщений: 1,530
29.05.2017, 12:04 #16
Alexey Number, почитайте про использование функций и процедур, таки вопросы отпадут
1
29.05.2017, 12:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2017, 12:04

Можно ли создать компилятор для своего языка программирования для .NET
Сейчас вот думаю..Можно ли создать компилятор для своего языка программирования...

Как создать отдельную папку для dll при компоновки приложения в VS2008
У меня в одном проекте соединено несколько других проектов. Главный проект при...

Вызвать справку своего приложения по F1
Подскажите пожалуйста как по нажатию на кнопку F1 запустить файл "Пегас.chm",...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru