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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2011, 19:27   #1
6666
Пользователь
 
Регистрация: 21.03.2011
Сообщений: 44
По умолчанию проблема со сменой пароля

сделал пароль:

Цитата:
procedure TForm5.SpeedButton1Click(Sender: TObject);
begin

begin
if edit3.Text='123' then
begin
form2.SpeedButton4.Enabled:=true;
form2.SpeedButton5.Enabled:=true;
Form2.SpeedButton7.Enabled:=true;
Form2.SpeedButton8.Enabled:=true;
Form2.SpeedButton1.Enabled:=false;
Form2.SpeedButton9.Enabled:=true;
Form2.SpeedButton10.Enabled:=true;

Form2.SpeedButton12.Enabled:=true;
SpeedButton2.Visible:=true;
SpeedButton1.Visible:=false;
end
else Label6.Caption:='Не верно указано имя пользователя или пароль';
exit;
begin
begin
if edit2.Text='admin' then
begin
polzovatel:=Edit2.Text;
//form1.StatusBar1.Panels.Items[2].Text:='Преподаватель: '+edit2.Text+' ;
form2.SpeedButton4.Enabled:=true;
form2.SpeedButton5.Enabled:=true;
Form2.SpeedButton7.Enabled:=true;
Form2.SpeedButton8.Enabled:=true;
Form2.SpeedButton1.Enabled:=false;
Form2.SpeedButton9.Enabled:=true;
Form2.SpeedButton10.Enabled:=true;
Form2.SpeedButton12.Enabled:=true;

Form2.SpeedButton12.Enabled:=false;
Edit2.Text:='';
Button1.Enabled:=false;
end
else Label6.Caption:='Не верно указано имя пользователя или пароль';
exit;
end;

close;

end;
подскажите пожалуйста как для этой процедуры сделать смену пароля. может у кого примеры есть или советы. заранее спасибо
6666 вне форума Ответить с цитированием
Старый 05.04.2011, 19:53   #2
BlackFishSQL
Форумчанин
 
Аватар для BlackFishSQL
 
Регистрация: 02.04.2011
Сообщений: 136
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMAN;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Memo2: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);

    
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
 
implementation

uses Unit2, Unit3, Unit4;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var dir, login, password:string;
    i,a, e:integer;
    dostyp:boolean;
begin
 getdir(0,dir);
 dir:=dir+'\key.txt';
 Memo1.Lines.LoadFromFile(dir);
 Button3.Click;
 a:=Memo1.Lines.Count;
 for i:= 0 to a-1 do
   begin
     login:=copy(Memo1.Lines[i],0,pos(':',Memo1.Lines[i])-1);
     password:=copy(Memo1.Lines[i],pos(':',Memo1.Lines[i])+1, length(Memo1.Lines[i]));
     if (Edit1.Text=login) and (Edit2.Text=password) then
      dostyp:=true;
   end;
 if dostyp  then
  form2.show
 else
form3.show;
  end;

procedure TForm1.Button2Click(Sender: TObject);
var q:integer;
begin
q:=Form4.ShowModal;
end;



procedure TForm1.Button3Click(Sender: TObject);
var s,  pass: string;
    i, j, h,  b : integer;
begin
 Memo2.Text:='';
 s:=Memo1.Text;
 i:=length(s);
 pass:='dester';
 j:=length(pass);
 h:=round(i/j);
 for b:= 1 to h do
  pass:=pass+pass;
 pass:=copy(pass, 1, i);
 for b:= 1 to i do
  begin
   if (ord(s[b])+ord(pass[b])) < 1 then
    memo2.Text:= memo2.Text + chr(ord(s[b])-ord(pass[b])+255)
    else
    memo2.Text:= memo2.Text + chr(ord(s[b])-ord(pass[b]));
    Memo1.text:=memo2.text;
  end;

end;

end.
procedure TForm1.Button1Click
это непосредственно сам вход в программу!
Как видите пароль хранится в текстовом файле что намного удобно чем у Вас! Да и свои знания расширите!)

procedure TForm1.Button3Click
это процедура дешифрации текста! Так как если пароли лежат в текстовом файле это называется "зашёл посмотрел" Но не так всё просто! С шефрацией например у Вас пароль "синхрофазотрон" а в текстовом файле будет лежать"б@&*5дHfkd#^%*&"
Но для этого Вам надо сделать шифратор!
Так что эту процедуру просто выкиньте! Хотя если напишите шифратор и дешифратор то .....

Последний раз редактировалось BlackFishSQL; 05.04.2011 в 20:06.
BlackFishSQL вне форума Ответить с цитированием
Старый 05.04.2011, 19:53   #3
Romantik_FM
Пользователь
 
Аватар для Romantik_FM
 
Регистрация: 21.12.2010
Сообщений: 12
По умолчанию

Думаю по этому поводу нужно сделать текстовый документ и подгружать его при вводе пароля и логина а при смене перезаписать этот файлик. можно и в ini

Удачи
Не ошибается тот, кто ничего не делает
Romantik_FM вне форума Ответить с цитированием
Старый 05.04.2011, 20:40   #4
6666
Пользователь
 
Регистрация: 21.03.2011
Сообщений: 44
По умолчанию

сделал вот так:

Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var
myFile : TextFile;
text, pass, log : string;

begin
log:=Edit1.Text;
pass:=Edit2.Text;
// Ïîïûòêà îòêðûòü ôàéë Test.txt äëÿ çàïèñè
AssignFile(myFile, 'Test.org');
append(myFile);

// Çàïèñü íåñêîëüêèõ èçâåñòíûõ ñëîâ â ýòîò ôàéë
WriteLn(myFile,log);
WriteLn(myFile, pass);

// Çàêðûòèå ôàéëà
CloseFile(myFile);
form2.show;

end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

Var myFile: TextFile;
pass,log,text: String;
begin
CanClose:=false;//ïîêà çàïðåùàåì çàêðûòèå
AssignFile(myFile, extractfilepath(paramstr(0))+'test. org');
Reset(myFile);
while not Eof(myFile) do //öèêë áóäåò äî òåõ ïîð, ïîêà íå äîñòèãíåì êîíöà ôàéëà
begin
ReadLn(myFile,log);
ReadLn(myFile, pass);
if (Edit1.Text = log) and (lowerCase(edit2.Text) = pass)
then begin
CanClose:=true;
//breake; //ïðåðûâàåì öèêë
end;
end;

CloseFile(myFile);
if not CanClose then Application.Terminate;
end;

end.

а как теперь сделать чтобы менять пароль и сохранять в файле?
6666 вне форума Ответить с цитированием
Старый 05.04.2011, 21:56   #5
BlackFishSQL
Форумчанин
 
Аватар для BlackFishSQL
 
Регистрация: 02.04.2011
Сообщений: 136
По умолчанию

Зачем тебе меня пароль! Если зашифруешь никаким способом (это лож) не узнаешь!
BlackFishSQL вне форума Ответить с цитированием
Старый 05.04.2011, 22:15   #6
6666
Пользователь
 
Регистрация: 21.03.2011
Сообщений: 44
По умолчанию

нужно побольше функций всяких
6666 вне форума Ответить с цитированием
Старый 05.04.2011, 23:27   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Пароль шифровать MD5 и хранить в TFileStream.
Вот лучшая схема.
Человек_Борща вне форума Ответить с цитированием
Старый 29.04.2011, 20:10   #8
6666
Пользователь
 
Регистрация: 21.03.2011
Сообщений: 44
По умолчанию

а может у кого нибудь есть пример шифрования пароля xor?
6666 вне форума Ответить с цитированием
Старый 30.04.2011, 11:30   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
а может у кого нибудь есть пример шифрования пароля xor?
дык, на форуме искать не пробовали?
вот, например, в этой теме:
xor шифрование (delphi)
мой пост #4 (да и дальше можете просмотреть обсуждение)

Только учтите, что
1) строку ключа желательно иметь подлиннее (и в ней должны быть самые разные символы)
2) после шифрования по методу XOR возможно получение в строке непечатных символов. (это абсолютно нормально, просто нужно учесть этот факт!) Поэтому, например, сохранять зашифрованное значение в текстовом файле просто так не получится! Нужно или использовать бинарный файл, или строчку кодировать дополнительно в UUE/BASE64 (или любым другим алгоритмом получать печатные символы из непечатных бинарных).
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с RDP. При вводе пароля ошибка Lauri Общие вопросы Delphi 4 08.01.2011 22:23
MS Office Excel 2007 - проблема с установкой пароля gubby Microsoft Office Excel 2 22.01.2010 16:52
анимация со сменой картинок xsamdy Помощь студентам 0 18.06.2009 20:01
Проблема с формой пароля almus Microsoft Office Excel 7 01.10.2008 14:12
Проблема со сменой регистра nechto Общие вопросы Delphi 29 22.11.2007 06:39