Вверх ↑
Этот топик читают: Гость
Ответов: 189
Рейтинг: 4
#16: 2013-01-11 15:59:37 ЛС | профиль | цитата
Alex_P, тебе НЕ нужно знать пароль, смотри:
1)Пользователь вводит логин и пароль.
2)Делаешь примерно так
code_30030.txt

3)Используешь авторизацию по логину и хэшу.
карма: 0

0
файлы: 1code_30030.txt [846B] [349]
Ответов: 1043
Рейтинг: 33
#17: 2013-01-11 20:57:20 ЛС | профиль | цитата
[flood]
Alex_P писал(а):
НО мне надо видеть(в полях логина и пароля) логин и пароль

KisL()R()[) писал(а):
тебе НЕ нужно знать пароль


[/flood]
карма: 0

0
Ответов: 122
Рейтинг: 2
#18: 2013-01-13 14:13:59 ЛС | профиль | цитата
ну так что с закачкой обновлений?
------------ Дoбавленo в 14.13:
KisL()R()[), просто у меня была такая благая идея, что при в ходе не неадо заново вводить логин и пароль(должна программа запомнить их )
карма: 0

0
Ответов: 189
Рейтинг: 4
#19: 2013-01-13 16:31:37 ЛС | профиль | цитата
Alex_P, Я тебе уже объяснил:
KisL()R()[) писал(а):
тебе НЕ нужно знать пароль


Я повторю...
1)Берешь логин и пароль, превращаешь логин и пароль в hash.
2)Пользователь пытается подсоединится, отправляешь логин и hash.
3)Используешь вместо пароля hash, записываешь логин и hash в login.pass.
---Пользователь перезапускает программу---
4)Загрузаешь из login.pass логин и hash, в окно логина вводишь логин, а в пароль допустим восемь звездочек, hash запоминаешь, не показываешь.
5)Пользователь пытается подсоединится, отправляешь логин и hash.
6)profit - ты не знаешь пароль, но можешь авторизировать пользователя!

p.s. Вместо hash'а можно использовать другие необратимые алгоритмы, допустим md5...

Вот код, набросал побыстрому :

Add(MainForm,11343786,7,14)
{
Width=199
Height=138
Caption="HASH"
link(onCreate,10013995:doEvent1,[])
}
Add(FormatStr,9645156,259,231)
{
Mask="!@•щ%2THE_S3CRET_PHR4SE%1->"
link(onFString,14891079:doHashsum,[])
link(Str1,14859324:Value,[(265,194)(167,194)])
link(Str2,11408104:Text,[(272,199)(321,199)])
}
Add(Edit,11866527,63,154)
{
Left=10
Top=10
Width=165
Text="LOGIN"
link(onChange,5689174:doModify,[])
}
Add(Edit,11408104,315,154)
{
Left=10
Top=30
Width=165
Text="PASSWORD"
link(onChange,9645156:doString,[(361,160)(361,214)(247,214)(247,237)])
}
Add(Button,3684546,329,287)
{
Left=10
Top=50
Width=165
Caption="LOGIN"
link(onClick,10651261:doData,[])
}
Add(Hashsum,14891079,315,231)
{
link(onResult,1205033:doWork2,[])
}
Add(StrCase,5689174,112,154)
{
link(onModify,14859324:doValue,[])
}
Add(Memory,14859324,161,154)
{
Default=String(login)
link(onData,2307964:doEvent1,[])
}
Add(StrList,12632100,259,147)
{
FileName="login.txt"
}
Add(StrList,8086968,735,168)
{
FileName="hash.txt"
}
Add(CheckBox,5070387,588,119)
{
Left=10
Top=70
Width=145
Caption="Remember me"
}
Add(Hub,2307964,224,154)
{
OutCount=3
link(onEvent1,12632100:doClear,[])
link(onEvent2,12632100:doAdd,[(248,167)(248,153)])
link(onEvent3,12632100:doSave,[(248,174)(248,188)])
}
Add(Hub,9044061,700,175)
{
OutCount=3
link(onEvent1,8086968:doClear,[])
link(onEvent2,8086968:doAdd,[(724,188)(724,174)])
link(onEvent3,8086968:doSave,[(724,195)(724,209)])
}
Add(IndexToChanel,11497733,588,168)
{
Point(Index)
link(onEvent1,1590969:doData,[])
link(onEvent2,6298649:doWork2,[])
link(Index,5070387:Checked,[])
}
Add(Hub,7293349,539,231)
{
link(onEvent1,11497733:doEvent,[(565,237)(565,174)])
link(onEvent2,7538005:doStrCatDlm,[(588,244)(588,300)])
}
Add(StrCatDelim,7538005,602,294)
{
Delimiter="•"
link(onStrCatDlm,7988785:doWork,[])
link(Str1,11866527:Text,[(608,274)(729,274)(729,348)(69,348)])
}
Add(StrList,7791242,133,49)
{
FileName="login.txt"
}
Add(Hub,9390979,91,77)
{
OutCount=4
link(onEvent1,7791242:doLoad,[])
link(onEvent4,7875619:doData,[])
}
Add(DoData,7875619,133,98)
{
link(onEventData,11866527:doText,[(190,104)(190,138)(51,138)(51,160)])
link(Data,7791242:Text,[])
}
Add(StrList,8372759,399,35)
{
FileName="hash.txt"
}
Add(Hub,14876161,259,63)
{
OutCount=5
link(onEvent1,8372759:doLoad,[])
link(onEvent4,7356487:doData,[])
link(onEvent5,1581981:doData,[])
}
Add(DoData,7356487,399,84)
{
link(onEventData,1205033:doWork1,[(498,90)(498,166)(375,166)])
link(Data,8372759:Text,[])
}
Add(Hub,10013995,49,28)
{
link(onEvent1,14876161:doEvent1,[(212,34)(212,69)])
link(onEvent2,9390979:doEvent1,[(77,41)(77,83)])
}
Add(Memory,4908335,385,231)
{
}
Add(HubEx,1205033,371,231)
{
link(onEvent,4908335:doValue,[])
}
Add(DoData,10651261,385,287)
{
link(onEventData,7293349:doEvent1,[(471,293)(471,237)])
link(Data,4908335:Value,[])
}
Add(DoData,1581981,301,91)
{
Data=String(********)
link(onEventData,11408104:doText,[(383,97)(383,129)(303,129)(303,160)])
}
Add(LineBreakEx,7988785,644,294)
{
Caption="Send"
}
Add(HubEx,6298649,686,175)
{
link(onEvent,9044061:doEvent1,[])
}
Add(DoData,1590969,637,168)
{
link(onEventData,6298649:doWork1,[(690,174)])
}

Я сделал пример с hash.txt и login.txt для простоты схемы, но на самом деле, необходимо сохранять также как и раньше.

карма: 0

0
файлы: 1code_30056.txt [2.9KB] [367]
Ответов: 122
Рейтинг: 2
#20: 2013-01-14 16:12:46 ЛС | профиль | цитата
KisL()R()[), спасибо на меня нашла идея.

Идея

login.pass а в нём запись логин MD5pass LENpass

профит проблема решена))

теперь 2 проблемы

  • Скачивание обновлений
  • Запись строки в файл
карма: 0

0
Ответов: 189
Рейтинг: 4
#21: 2013-01-14 19:28:02 ЛС | профиль | цитата
Alex_P, естественно, но зачем знать длину пароля? разве это что-то меняет? (Только подбор ускоряет, так-что не надо )
Т.е. login.pass а в нём запись логин, MD5pass (не надо LENpass! - это только хуже сделает, а толку мало).
Alex_P писал(а):
Запись строки в файл


Запись можно делать также как и в вашем первом примере, только замените ! на непечатаемый символ(допустим • (7))...
карма: 0

0
Ответов: 258
Рейтинг: -27
#22: 2013-01-15 11:03:17 ЛС | профиль | цитата
а может ему все таки нужны пароли ?
карма: 0

0
Ответов: 122
Рейтинг: 2
#23: 2013-01-15 12:36:37 ЛС | профиль | цитата
KisL()R()[) писал(а):
не надо LENpass! - это только хуже сделает, а толку мало)
я просто хотел сделать видимость длины пароля(у меня например из 15 символов а у моей подруги 5 сразу будет видна разница)
------------ Дoбавленo в 12.36:
нуууууу тогда уж делать автологин и кнопку "выход"
карма: 0

0
Ответов: 189
Рейтинг: 4
#24: 2013-01-15 14:37:38 ЛС | профиль | цитата
Alex_P писал(а):
тогда уж делать автологин и кнопку "выход"


Alex_P, Не надо, я уже в последнем примере показывал как надо сделать... (вот новый, маленько переделанный)
code_30075.txt

Там есть пункт 'Remember me', и никакой кнопки выхода не надо
карма: 0

0
файлы: 1code_30075.txt [3.4KB] [343]
Ответов: 122
Рейтинг: 2
#25: 2013-01-19 19:57:27 ЛС | профиль | цитата
KisL()R()[), я конечно ценю ваше старание но мне на данный момент надо исправить ошибку со скачиванием файлов(я навремя решил эту проблему созданием ещё одной программы) а после исправлении этого бага я с радостью сделаю вышесказанную защиту логина и пароля
карма: 0

0
Ответов: 5446
Рейтинг: 323
#26: 2013-01-19 21:10:54 ЛС | профиль | цитата
Alex_P, я таки добрался до твоей новой схемы, и как раз настрой подходящий. Поехали

Схема всё ещё писец, но не такой ядерный, как в прошлый раз.

  1. Не надо лениться именовать LineBreak-и - через неделю забудешь, что у тебя куда идёт.
  2. "Вертикальное программирование" (с) Galkov:
    Add(WinExec,2239173,1141,252)
    {
    PColor(Params,43775)
    link(Params,456509:Result,[])
    }
    Add(StrCatDelim,456509,1148,196)
    {
    Delimiter=" "
    link(Str1,5750942:Var,[])
    link(Str2,6774375:Var,[])
    }
    Add(LineBreak,7656158,399,539)
    {
    Caption="User"
    Type=1
    Primary=[5750942,749,-399]
    }
    Add(LineBreak,12511102,399,504)
    {
    Caption="Pass"
    Type=1
    Primary=[6774375,756,-343]
    }
    заменить на
    Add(WinExec,2239173,1141,245)
    {
    PColor(Params,43775)
    link(Params,10441699:GetData,[])
    }
    Add(StrCatDelim,456509,1197,189)
    {
    Delimiter=" "
    link(onStrCatDlm,10441699:doData,[(1241,195)(1241,183)(1136,183)(1136,195)])
    link(Str1,5750942:Var,[])
    link(Str2,6774375:Var,[])
    }
    Add(LineBreak,7656158,399,539)
    {
    Caption="User"
    Type=1
    Primary=[5750942,798,-406]
    }
    Add(LineBreak,12511102,399,504)
    {
    Caption="Pass"
    Type=1
    Primary=[6774375,805,-350]
    }
    Add(EventFromData,10441699,1148,189)
    {
    link(onEvent,456509:doStrCatDlm,[])
    }

  3. Налагающиеся линки!
  4. Ты, я смотрю, так и не поменял блок загрузки и сохранения файла с паролем.
  5. А где, собственно, загрузка инсталлятора?


карма: 1

1
Голосовали:Alex_P
Гость
Ответов: 17029
Рейтинг: 0
#27: 2013-01-22 18:14:48 правка | ЛС | профиль | цитата


Редактировалось 6 раз(а), последний 2021-06-24 08:03:07
карма: 0

0
Ответов: 122
Рейтинг: 2
#28: 2013-01-22 18:19:43 ЛС | профиль | цитата
сорри я забыл войти на форум

ссылка на исходник программы [burl=https://dl.dropbox.com/s/jfatghgux3pjjp7/AlexCraft.sha?dl=1]here[/burl]
ссылка на update.exe [burl=https://dl.dropbox.com/s/fcix4rvevfatizy/UPDATE.sha?dl=1]here[/burl]
карма: 0

0
Ответов: 122
Рейтинг: 2
#29: 2013-02-05 11:04:08 ЛС | профиль | цитата
и ещё почему-то не работает это (не читает и не записывает в файл)
code_30258.txt
карма: 0

0
файлы: 1code_30258.txt [3.4KB] [340]
29
Сообщение
...
Прикрепленные файлы
(файлы не залиты)