Новые пользователи
Активные пользователи
[ Новые сообщения · Участники· Правила форума · Поиск · RSS ]
Страница 1 из 11
Архив - только для чтения
Форум » Программирование на Delphi » Готовые решения » Шифр Кесаря (Цезаря) (Пример шифрования подстановкой)
Шифр Кесаря (Цезаря)
PWorkДата: Вторник, 30.01.2018, 00:40 | Сообщение # 1
Группа: Администраторы
Сообщений: 15
Статус: Offline
Шифр Цезаря известен давно. По легенде, Гай Юлий Цезарь шифровал им сообщения для своих военачальников.
Суть шифрования сводится к подмене символов открытого текста символами, находящихся на постоянном числе позиций правее или левее него в алфавите:


Код
procedure CaesarDecrypt(var S:string; Key:Integer);
var
  I:Integer;
  C: Integer;
begin
  for I:=1 to Length(S) do
  begin
    C := (Ord(S[I])-Key+256) mod 256;
    S[I]:=Chr(C);
  end;
end;

procedure CaesarCrypt(var S:string; Key:Integer);
var
I:Integer;
C: Integer;
begin
  for I:=1 to Length(S) do
  begin
    C := (Ord(S[I])+Key) mod 256;
    S[I]:=Chr(C);
  end;
end;

var
  S:string;
begin
  S:=Memo1.Text;
  CaesarCrypt(s,300);// зашифровали строку

  CaesarDecrypt(s, 300); // расшифровали
  Memo1.Text:=S;


Как и все подстановочные шифры, шифр Цезаря крайне легко взламывается и не имеет применения на практике.
Многократное шифрование текста неэффективно.
Форум » Программирование на Delphi » Готовые решения » Шифр Кесаря (Цезаря) (Пример шифрования подстановкой)
Страница 1 из 11
Поиск:
X

Внимание!

Ваш браузер уязвим для рекламы. Установите AdBlock Plus! https://adblockPlus.org

uCoz