Вверх ↑
Ответов: 189
Рейтинг: 4
#1: 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] [412]