Alegun, безмерно благодарен!
Но... я реальный дурак
Как и говорилось раньше - нужно все это дело прятать от лишних глаз.
Люди знающие, как думаете, возможно ли в рамках кода
Код:
begin
Registr_Familiya_P:=Trim(Register_Familiya.Text);
Registr_Gruppa_P:=Trim(Register_Gruppa.Text);
Registr_Password_P:=Trim(Register_Password.Text);
Load_From_File_Passw.Add(Register_Familiya.Text+' группа: '+Register_Gruppa.Text+' '+Register_Password.Text);
Load_From_File_Passw.Add('______________________________________________________');
Load_From_File_Passw.Add(' ');
Load_From_File_Passw.SaveToFile(ExtractFilePath(Application.ExeName)+'lgn.tnt');
Login_Familiya.Text:= Register_Familiya.text;
Login_Gruppa.Text:= Register_Gruppa.text;
Register_Familiya.clear;
Register_Gruppa.clear;
Register_Password.clear;
Application.MessageBox('Регистрация успешно завершена!'+#13#10+'Вы можете авторизоваться', 'Внимание!',+ MB_ICONASTERISK);
end;
Зашифровать Register_Gruppa.Text и только после этого внести его в файл.
Ну и соответственно в рамках кода
Код:
Load_From_File_Login:=TStringList.Create;
Load_From_File_Login.LoadFromFile(ExtractFilePath(Application.ExeName)+'lgn.tnt');
LogAndGruppa_Login:=Login_Familiya.Text+' группа: '+Login_Gruppa.Text+' '+Login_Password.Text;
for iterIntCount:=0 to Load_From_File_Login.Count -1 do
begin
if LogAndGruppa_Login = Load_From_File_Login[iterIntCount] then
begin
FORM_LOGIN.hide;
FORM_TEST.Show;
Exit;
end
end;
if (Login_Familiya.Text = '') or (Login_Gruppa.Text = '') or (Login_Password.Text = '') then
begin
Application.MessageBox('Вход невозможен!'+#13#10+'Заполните все поля', 'Внимание!',+ MB_ICONWARNING);
end else
begin
Application.MessageBox('Неверные данные!'+#13#10+'Проверьте корректность ввода данных и повторите попытку', 'Внимание!',+ MB_ICONWARNING);
end;
Расшифровать сравнить и если расшифрованное совпадает с введенным в поле - авторизовать.
Я думаю в сторону EncodeXXE и DecoderXXE, но это ненадежно...
А что, если заставить пользователя создавать пароль только из цифр и при сохранении умножать на 2 и прибавлять 16, при обратной процедуре - делить на 2 и вычитать 16... Глупо наверное, но в мою голову ничего больше не идет.
Буду рад помощи