|
Проблема с паролем - Вопросы и ответы, обсуждения - Ваши вопросы по Pascal/Delphi только в данном разделе |
25.02.2012, 20:50
|
#1
|
|
|
|
Разведчик
|
Регистрация: 21.01.2011
Сообщений: 36
Популярность: 205
Сказал(а) спасибо: 215
Поблагодарили 45 раз(а) в 19 сообщениях
|
Проблема с паролем
Хотел поставить на программу пароль и в саму программу встроить смену пароля ,но столкнулся с проблемой, после ввода старого и нового пароля и нажатия на Button26 пароль не меняется а остаётся старым как и был ! Подскажите в чём проблема.
Работает всё следующим образом - из файла загружается зашифрованный пароль , расшифровывается, далее проверяется введён ли старый пароль правильно ,если правильно то заменяется на новый , шифруется и записывается на файл обратно. Но на практике пароль не меняется. (
Кликабельна
Код:
procedure TForm1.Button26Click(Sender: TObject);
var
Ini: Tinifile;
List: TStringList;
i,l,j: integer;
a,d,s,b,c: string;
begin
Ini:=TiniFile.Create(ExtractFilePath(paramstr(0))+'System.ini');
edt14.Text:= Ini.ReadString('Password','Text',edt14.Text);
a:='ёЁйцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm0132465987 ';
d:='0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMЁёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮйцукенгшщзхъфывапролджэячсмитьбю ';
s:= edt14.Text;
for l:=1 to Length(s) do
begin
j:=Pos(s[l],a);
b:=b+d[j];
end;
edt14.Text:=b;
Sleep(1000);
if b=edt11.Text then
begin
a:='0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMЁёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮйцукенгшщзхъфывапролджэячсмитьбю';
s:='ёЁйцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm0132465987';
for l:=1 to Length(b) do
begin
j:=Pos(b[l],a);
c:=c+s[j];
end;
edt14.Text:=c;
Ini:=TiniFile.Create(ExtractFilePath(paramstr(0))+'System.ini');
Ini.WriteString('Password','Text',Edt14.Text);
end;
end;
|
|
|
26.02.2012, 11:24
|
#2
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Проблема с паролем
А если подумать, что код делает? Код достаёт старый пароль, потом шифрует его, потом обратно дешифрует и пишет обратно в ini...
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
Пользователь сказал cпасибо:
|
|
28.02.2012, 22:54
|
#3
|
|
|
|
Разведчик
|
Регистрация: 21.01.2011
Сообщений: 36
Популярность: 205
Сказал(а) спасибо: 215
Поблагодарили 45 раз(а) в 19 сообщениях
|
Re: Проблема с паролем
|
Цитата: |
|
|
|
|
|
|
|
|
|
А если подумать, что код делает? Код достаёт старый пароль, потом шифрует его, потом обратно дешифрует и пишет обратно в ini...
|
|
|
|
|
|
Спс я через 1 час дапёр что у меня код делает полную хрень и немного доработал терь всё пашет на ура !
Кликабельно )
Код:
procedure TForm1.Button26Click(Sender: TObject);
var
Ini: Tinifile;
List: TStringList;
i,l,j: integer;
a,d,s,b,c,o: string;
begin
pb1.Position:=0;
Button26.Enabled:=False;
Ini:=TiniFile.Create(ExtractFilePath(paramstr(0))+'System.ini');
edt14.Text:= Ini.ReadString('Password','Text',edt14.Text);
a:='ёЁйцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm0132465987 ';
d:='0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMЁёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮйцукенгшщзхъфывапролджэячсмитьбю ';
s:= edt14.Text;
for l:=1 to Length(s) do
begin
j:=Pos(s[l],a);
b:=b+d[j];
end;
edt14.Text:=b;
pb1.Position:=50;
if b=edt11.Text then
begin
o:= edt12.Text;
a:='0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMЁёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮйцукенгшщзхъфывапролджэячсмитьбю';
s:='ёЁйцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm0132465987';
for l:=1 to Length(o) do
begin
j:=Pos(o[l],a);
c:=c+s[j];
end;
edt14.Text:=c;
Ini:=TiniFile.Create(ExtractFilePath(paramstr(0))+'System.ini');
Ini.WriteString('Password','Text',Edt14.Text);
lbl26.Caption:='Успешно!';
lbl26.Font.Color:= clLime;
end
else
begin
lbl26.Caption:='Неудача!';
lbl26.Font.Color:= clRed ;
ShowMessage('Введите правильной пароль!');
end;
Sleep(250);
pb1.Position:=75;
Sleep(500);
edt11.Clear;
edt12.Clear;
pb1.Position:=100;
Button26.Enabled:=True;
pb1.Position:=0;
end;
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 10:25.
|
|