program CryptDemo_6;
(***************************************)
(*Шифрование строк текста сдвигами по паролю символов с кодами 32..255.*)
(* Turbo Pascal 3.xx *)
(***************************************)
const
TestTxt1 = ?Мама мыла Машу мылом. Маша мыло не любила. ?#10;
TestTxt2 = ?Шифрование заменой символов.?;
PassWord : array [0..12] of char = ?Сов. секретно?;
var
I, J, K : byte;
Line : string [$FF];
begin
TextBackGround (Black);
(* шифруемый текст *)
Line := TestTxt1 + TestTxt2;
TextColor (Yellow);
WriteLn (Line);
(* шифрование заменой символов *)
for I := 1 to Length (Line) do
if Line [I] >= #32 then begin
J := Ord (Line [I]) - 32;
K := Ord (PassWord [I mod 13]) - 32;
Line [I] := Chr ((J + 224 - K) mod 224 + 32) end;
TextColor (LightCyan);
WriteLn (Line);
(* дешифрирование замены символов *)
for I := 1 to Length (Line) do
if Line [I] >= #32 then begin
J := Ord (Line [I]) - 32;
K := Ord (PassWord [I mod 13]) - 32;
Line [I] := Chr ((J + K) mod 224 + 32) end;
TextColor (White);
Write (Line);
TextColor (LightGray);
WriteLn;
Halt
end. (* CryptDemo_6 *)
393