-
Notifications
You must be signed in to change notification settings - Fork 2
/
unnastaveni.pas
109 lines (89 loc) · 2.98 KB
/
unnastaveni.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
unit unNastaveni;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, KButtons, Forms, Controls, Graphics, Dialogs,
StdCtrls, ExtCtrls, Grids, Buttons, IniPropStorage, unZjistiIp, DCPblowfish,
DCPtwofish;
type
{ TfrmNastaveni }
TfrmNastaveni = class(TForm)
btnOk: TButton;
btnCancel: TButton;
btnZjistiIP: TKBitBtn;
DCP_twofish1: TDCP_twofish;
ulozeniNastaveniDoIni: TIniPropStorage;
lblEditNazevLan: TLabeledEdit;
lblEditIpAdress: TLabeledEdit;
lblEditNazevGigasetNet: TLabeledEdit;
lblEditMacAdresa: TLabeledEdit;
lblEditPin: TLabeledEdit;
procedure btnCancelClick(Sender: TObject);
procedure btnOkClick(Sender: TObject);
procedure btnZjistiIPClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
frmNastaveni: TfrmNastaveni;
implementation
{$R *.frm}
{ TfrmNastaveni }
procedure TfrmNastaveni.btnZjistiIPClick(Sender: TObject);
var
pom : Byte;
begin
// vytvořit frmZjistiIp;
Application.CreateForm(TfrmZjistiIp, frmZjistiIp);
//aktualizuje hodnoty v závislosti na tom které tlačítko ukončí frmZjistiIp
if frmZjistiIp.ShowModal = mrOK then
begin
pom:=frmZjistiIp.stringGrid1.Row;
lblEditNazevLan.Text:=frmZjistiIp.stringGrid1.Cells[0,pom];
lblEditIpAdress.Text:=frmZjistiIp.stringGrid1.Cells[1,pom];
lblEditNazevGigasetNet.Text:=frmZjistiIp.stringGrid1.Cells[2,pom];
lblEditMacAdresa.Text:=frmZjistiIp.stringGrid1.Cells[3,pom];
end;
// uvolnit frmZjistiIp z paměti
APPlication.ReleaseComponent(frmZjistiIp);
end;
procedure TfrmNastaveni.FormCreate(Sender: TObject);
//var
// iniciacniVektor : array[0..7] of byte;
// i: Integer;
begin
//for i:=0 to 7 do
// iniciacniVektor[i]:=Random(256);
//DCP_blowfish1.Init('slavenka',16,nil); // @iniciacniVektor
DCP_twofish1.Init('taktojetedaheslo',128,nil); // asi by bylo bezpečnější použít hash hesla
// v binárkách musí být samozřejmě jiné heslo
ulozeniNastaveniDoIni.Restore;
lblEditPin.Text:=DCP_twofish1.DecryptString(lblEditPin.Text);
// ShowMessage(lblEditPin.Text);
DCP_twofish1.Reset; // !!! bez resetu nejde dál šifrovat i dešifrovat korektně
end;
procedure TfrmNastaveni.FormShow(Sender: TObject);
begin
ulozeniNastaveniDoIni.Restore;
lblEditPin.Text:=DCP_twofish1.DecryptString(lblEditPin.Text);
// ShowMessage(lblEditPin.Text);
DCP_twofish1.Reset; // !!! bez resetu nejde dál šifrovat i dešifrovat korektně
end;
procedure TfrmNastaveni.btnOkClick(Sender: TObject);
begin
lblEditPin.Text:= DCP_twofish1.EncryptString(lblEditPin.Text);
DCP_twofish1.Reset;
// ShowMessage(lblEditPin.Text);
ulozeniNastaveniDoIni.Save;
end;
procedure TfrmNastaveni.btnCancelClick(Sender: TObject);
begin
lblEditPin.Text:= DCP_twofish1.EncryptString(lblEditPin.Text);
DCP_twofish1.Reset;
ulozeniNastaveniDoIni.Save;
end;
end.