Курсовая работа: Защита информации от несанкционированного доступа
s:=concat(s,Format('%2d',[strlen(UsedMethods[i].Key)+k*5+UsedMethods[i].Direction]));
s:=concat(s,Format('%2d',[strlen(UsedMethods[i].Key)+k*4+UsedMethods[i].WayCount]));
end;
end;
for i:=1 to length(s) do if s[i]=' ' then s[i]:='-';
MainKey.Text:=S;
end;
function TMainForm.DecodeKey;
var
i,k,l,t: integer;
s: string;
begin
Result:=0;
s:=MainKey.Text;
for i:=1 to length(s) do if s[i]='-' then s[i]:='0';
try
while s<>'' do
begin
t:=MethodByChar(s[1]);
Used[t]:=true;
delete(s,1,1);
k:=strtoint(copy(s,1,1));
delete(s,1,1);
l:=strtoint(copy(s,1,2))-k*6;
delete(s,1,2);
StrPCopy(UsedMethods[t].Key,copy(s,1,l));
delete(s,1,l);
UsedMethods[t].Direction:=strtoint(copy(s,1,2))-l-k*5;
delete(s,1,2);