program CryptDemo_3;
(****************************)
(*Шифрование строки текста заменой символов 32..255.*)
(* Turbo Pascal 3.xx *)
(****************************)
const
TestTxt1 = ?Мама мыла Машу мылом. Маша мыло не любила. ?#10;
TestTxt2 = ?Шифрование заменой символов.?;
var
I : byte;
C : char;
Line : string [$FF];
Shift : byte;
begin
TextBackGround (Black);
(* шифруемый текст *)
Line := TestTxt1 + TestTxt2;
TextColor (Yellow);
WriteLn (Line);
(* рандомизация ключа шифрования *)
Randomize;
Shift := 1 + Random (223);
(* шифрование заменой символов *)
for I := 1 to Length (Line) do
if Line [I] >= #32 then
Line [I] := Chr ((Ord (Line [I]) + 192 - Shift) mod 224 + 
32);
TextColor (LightCyan);
WriteLn (Line);
(* дешифрирование замены символов *)
for I := 1 to Length (Line) do
if Line [I] >= #32 then
Line [I] := Chr ((Ord (Line [I]) - 32 + Shift) mod 224 + 
32);
TextColor (White);
Write (Line);
TextColor (LightGray);
WriteLn;
Halt
end. (* CryptDemo_3 *)