Шифрование алгоритмом Гронсфельда:
Переменные:
str,k:string;
i,t:integer;
Алгоритм:
str :=Edit1.Text;
k:=Edit2.Text;
try
for i := 1 to length(str) do
begin
T := (Ord(str[ i ])+ (Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0')));
if T >= 256 then dec(T, 256);
str[ i ] := Chr(T);
memo1.Text:=str;
end;
except MessageDlg('Внимание! Вы не правильно ввели текст или смещение',mtWarning ,[mbOK ],1);
end;
Дешифрация алгоритмом Гронсфельда:
Переменные:
str,k:string;
i,t:integer;
Алгоритм дешифрации:
str:=memo1.Text;
k:=Edit2.Text;
try
for i := 1 to length(str) do
begin
T := (Ord(str[i])-(Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0')) );
if T < 0 then Inc(T, 256);
str[ i ] := Chr(T);
memo2.Text:=str;
end;
except MessageDlg('Сначала зашифруйте текст!!!',mtWarning ,[mbOK ],1);
end;
http://iswoman.com. |