Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2008, 15:50   #11
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Цитата:
сделай несколько паролей к твоей программе, а потом делай так. считывай дату, и, если дата <12.09.08, то подходит такой пароль если дата >= 12.09.09, то подходит другой пароль.
по сабжу:
Собственно идея неплохая, но юзеры ведь в разное время будут себе ключи покупать. Возмут пароль, а он на пол года(((
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 11.07.2008, 15:57   #12
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Сообщение от Titan123 Посмотреть сообщение
сделай несколько паролей к твоей программе, а потом делай так. считывай дату, и, если дата <12.09.08, то подходит такой пароль если дата >= 12.09.09, то подходит другой пароль.
по сабжу:
Код:
If datetostr(date)<12.09.08 then
//код по паролю
If datetostr(date)>=12.09.08 then
Спасибо) А куда вставить эту процедуру? В какую кнопку или в какое событие?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 11.07.2008, 16:00   #13
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Сообщение от Dj_smart Посмотреть сообщение
Напиши еще одну программу - KeyGen, которая будет генерировать ключ в зависимости от системного время. Например сегодня
24.11.2005
тогда берем
24+11*12+2005*144 и получаем число 288876
Стараемся это число какможно сильнее зашифровать.
О способах шифровки говорить не буду, главное что ты передаш клиентам зашифрованное число.
После ввода прога его розшифровывает. Получаем то же 288876.
Отщитываем дату, зашитую в числе.
Читаем текущую.
Сравниваем разницу меж этим числом и сегодняшней датой.
Если больше года - говорим купить ключ.
И дело в шляпе)))

НО тут есть несколько НО:
1.Этот способ разчитан на "ламеров" и легко ламается...
2.Можно тупо поменять текущую дату.

А так, для начала сойдет...
А если не трудно то можешь написать код на Delphi 7 как это работает?)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 11.07.2008, 16:00   #14
Titan123
Форумчанин
 
Аватар для Titan123
 
Регистрация: 27.06.2008
Сообщений: 113
По умолчанию

пусть в edit1 будет пароль, а кнопка его будет проверять. следовательно, код в кнопку.
кстати: допустил небольшую ошибку саму дату вставляй в '' такие ('12.09.08') кавычки
советую пароли засунуть в константы, хотя это мое мнение

Последний раз редактировалось Titan123; 11.07.2008 в 16:02.
Titan123 вне форума Ответить с цитированием
Старый 11.07.2008, 16:16   #15
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Цитата:
А если не трудно то можешь написать код на Delphi 7 как это работает?)
Вот приблизительный код:

KeyGen:
uses DateUtils;

Код:
procedure TForm1.Button1Click(Sender: TObject);
var d,m,y:word;
  res:longint;
begin
  d:=DayOfTheMonth(date);
  m:=MonthofTheYear(date);
  y:=YearOf(date);
  res:=d+m*31+y*365; //ошибочка вышла ;) там 31 и 365
  res:=shifr(res); //процедура шифровки, придумай сам, как. можешь не шифровать
  edit1.Text:=inttostr(res); //выводим число
end;
Сама прога:
uses DateUtils;

Код:
procedure TForm1.Button1Click(Sender: TObject);
var d,m,y:word;
  res:longint;
begin
  d:=DayOfTheMonth(date);
  m:=MonthofTheYear(date);
  y:=YearOf(date);
  res:=d+m*31+y*365; //получаем число
  rescode:=strtointdef(edit1.Text,0); // читаем введенное
  rescode:=unshifr(rescode); //процедура разшифровки
  if rescode-365>res then ... // значит код не правильный
end;
Вот в принцыпе в фсё...
Единственное что од тебя требуется, это придумать, как шифровать число
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 12.07.2008, 13:40   #16
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Такой вот вопрос у меня к вам, уважаемые программисты!) Я поставил на свою программу пароль и хочу, чтобы его пользователь ввел только один раз. То есть запускается программа, появляется окно куда надо ввести пароль, его вводят и программа становится доступной для работы. Вот я и хочу сделать так чтобы пользователь ввел пароль один раз. Если пароль правильный, то работа продолжается. А при следующем запуске программы окно с паролем уже не появлялось. Первый парроль я тоже хочу сделать действительным на один год, а потом, когда пройдет год и наступит дата окончания действия этого пароля (дату я сам укажу какую) при запуске программы окно с паролем снова появится и попросит ввести новый пароль. Как мне это все сделать? Подскажите пожалуйста? Помогите кто чем может.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 12.07.2008, 14:08   #17
Titan123
Форумчанин
 
Аватар для Titan123
 
Регистрация: 27.06.2008
Сообщений: 113
По умолчанию

насчет первого вопроса могу сказать, что тебе нужно прописаться в реестр (только не в автозагрузку ), и пусть твоя прога смотрит, есть ли такой (твой) ключ в реестре, если есть то переход на основную форму программы, в противном случае-попросить ввести пароль.
Titan123 вне форума Ответить с цитированием
Старый 12.07.2008, 14:09   #18
Titan123
Форумчанин
 
Аватар для Titan123
 
Регистрация: 27.06.2008
Сообщений: 113
По умолчанию

вот ссылка на мою тему, где написано, как прописываться в реестр (бери другой раздел), и как смотреть, есть той или иной ключ в реестре
http://www.programmersforum.ru/showthread.php?t=22646
Titan123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дата werser Общие вопросы Delphi 1 05.06.2008 22:45
С# и дата byte916 Помощь студентам 1 13.05.2008 18:16
Дата в Exel Умелец Microsoft Office Excel 1 18.07.2007 01:54
Дата по умолчанию ГОСЕАН БД в Delphi 3 11.07.2007 19:33
Дата Luciferium БД в Delphi 9 29.05.2007 13:09