...

Листинг 12.5.

Использование генерации случайной перестановки

procedure TfmSubstitution.FormCreate(Sender: TObject);

var

Ch: char;

begin

Randomize;

//инициализация редактора значений

for Ch := \'А\' to \'Я\' do

vleSubst.InsertRow(Ch, \'\', True);

//генерация случайной перестановки

GenRearrangment;

end;

procedure TfmSubstitution.btnGenRearrangementClick(Sender:

TObject);

begin

GenRearrangment;

end;

Следующим объектом нашего рассмотрения является функция предварительной подготовки алфавита преобразования для шифрования либо дешифрования сообщения. У метода RecalcAlphabet есть параметр пКеу, который в зависимости от своего значения показывает, что является ключом. Возможными значениями пКеу являются 0 и 1. Значение 0 указывает на то, что будет производиться шифрование сообщения и требуется поставить в соответствие буквам открытого текста буквы перестановки. Значение 1, напротив, указывает на то, что будет производиться дешифрование сообщения и требуется поставить в соответствие буквам перестановки буквы открытого текста. Для этого массив сопоставления символов изначально заполняется таким образом, чтобы каждый символ соответствовал самому себе. Это происходит в следующих строках метода:

Загрузка...