...

Листинг 12.22.

Функция шифрования/дешифрования текста сообщения

//bEncrypt = True – шифровать

//bEncrypt = False – дешифровать

procedure TfmEncryptingAutoKey.EncryptDecrypt(SrcLines,

DstLines: TStrings; bEncrypt: Boolean);

var

i: Integer;

strKey: String;

begin

strKey := GetKey;

if strKey <> \'\' then

begin

DstLines.BeginUpdate;

DstLines.Clear;

if bEncrypt then

for i := 0 to SrcLines.Count – 1 do

DstLines.Add(EncryptString(SrcLines[i], strKey))

else

for i := 0 to SrcLines.Count – 1 do

DstLines.Add(DecryptString(SrcLines[i], strKey));

DstLines.EndUpdate;

end

else

MessageDlg(\'Ошибка: ключ задан неверно\', mtError, [mbOk], 0);

end;

procedure TfmEncryptingAutoKey.btnEncryptMessageClick(Sender:

TObject);

begin

EncryptDecrypt(mmDecryptMessage.Lines,

mmEncryptMessage.Lines, True);

end;

procedure TfmEncryptingAutoKey.btnDecpyptMessageClick(Sender:

TObject);

begin

EncryptDecrypt(mmEncryptMessage.Lines,

mmDecryptMessage.Lines, False);

end;

end.

Пример того, как работает полученное нами приложение, показан на рис. 12.7.

Рис. 12.7. Результат работы приложения «Шифр с автоключом»

Загрузка...