Понедельник, 12.01.2026, 06:06
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Примеры шифрования [8]
Шифрование методом Льюиса, Шифрование методом Атбаш, Шифрование методом Цезаря, Квадрат Полибия, Шифр Вижинера, Шифр Гронсфельда, Шифрование с помощью решетки, Шифр Хилла (с длиной блока = 2),
Наш опрос
Как хорошо вы знаете Паскаль
Всего ответов: 332
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Шифрование текстов на паскале » Примеры шифрования

Шифр Гронсфельда
function GronsfeldEncipher(toCode, K: string): string;
var i, T, _T: integer;
begin
  for i := 1 to length(toCode) do begin
  _T := ord(toCode[ i ]);
 
  T := (Ord(toCode[ i ])
 
  +
  (Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0'))
 
  );
 
  if T >= 256 then dec(T, 256);
  toCode[ i ] := Chr(T);
  end;
  GronsfeldEncipher := toCode;
end;
 
function GronsfeldDecipher(toDecode, K: string): string;
var i, T: integer;
begin
  for i := 1 to length(toDecode) do begin
  T := (Ord(toDecode[i])
 
  -
  (Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0'))
 
  );
  if T < 0 then Inc(T, 256);
  toDecode[ i ] := Chr(T);
  end;
  GronsfeldDecipher := toDecode;
end;
 
var
  s: string;
 
begin
  s := GronsfeldEncipher('INFORMATION', '2178');
  writeln(s);
  writeln('s = ', GronsfeldDecipher(s, '2178'));
end.





Категория: Примеры шифрования | Добавил: Student (29.07.2009)
Просмотров: 6554 | Комментарии: 1 | Рейтинг: 1.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
  • Курсовая работа
  • www.des.h19.ru - портал для вас и Вашего ПК



    Rambler's Top100 WOlist.ru - каталог качественных сайтов Рунета