Кодировка полиалфавитным шифром Вигeнера

Кодировка полиалфавитным шифром Вигeнера

{ **** UBPFD *********** by kladovka.net.ru ****
>> - xor кодировка
 - xor кодировка
одна функция для кодирования и декодирования
Input - входная строка. При кодировании это незакодированная строка, при декодировнии это закодированная строка.
Key - слово ключ один и тот же в обоих случаях.
При совпадении символов во входной строке и строке ключе на выходе получается символ '#0'.
Зависимости: Стандартные модули
Автор: Ru, <a href="mailto:DiVo_Ru@rambler.ru">DiVo_Ru@rambler.ru</a>, Одесса
Copyright: DiVo 2002 creator Ru
Дата: 18 ноября 2002 г.
********************************************** }

function VigenerCoDec(Input,Key:pchar):pchar
var
i,j:integer;
tmps,text:string;
begin
 text:=Input;
 for i:=1 to length(text) do
 begin
 if i>length(key) then j:=i mod length(key) else j:=i;
 tmps:=tmps+chr((ord(text[i]))xor(ord(key[j])));
 end;
 result:=pchar(tmps);
end;

Пример использования:

Text:=edit1.text;

K:=edit2.text;

Edit3.text:=VigenerCoDec(Text,K);

Закодировать:

Input:='Привет я РУ'; Key:='hello'; result:='ГуднйзHвH++';

Восстановить:

Input:='ГуднйзHвH++'; Key:='hello'; result:='Привет я РУ';

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...