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

Previous  Top  Next

    
 

 

Code:

{ **** UBPFD *********** by kladovka.net.ru ****

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

 

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

одна функция для кодирования и декодирования

Input - входная строка. При кодировании это незакодированная строка, при декодировнии это закодированная строка.

Key - слово ключ один и тот же в обоих случаях.

 

При совпадении символов во входной строке и строке ключе на выходе получается символ '#0'.

 

Зависимости: Стандартные модули

Автор:       Ru, DiVo_Ru@rambler.ru, Одесса

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;

 

 

 

 

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

Code:

Text:=edit1.text;

K:=edit2.text;

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

 

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

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

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

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

 

©Drkb::03989