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