Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЗ4-5 Шифрование и расшифрование данных симметр...doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
524 Кб
Скачать
☆

2. Разработка программного кода:

  • Перейдите в окно программного кода и объявите все переменные, которые будут использоваться:

var

Form1: TForm1;

s: array[1..100] of string; //Каждый элемент этого массива

//содержит 1 символ пароля

a,i,x: integer;

Полужирным цветом выделяется то, что вы должны ввести в программу!!!

  • Создайте обработчик события OnClick кнопки Создать. Для этого в форме выполните двойной щелчок мышью на кнопке Создать. В окне кода появится заготовка процедуры обработки события OnClick, в которой объявите метку ran и введите следующий код:

procedure TForm1.Button1Click(Sender: TObject);

label ran;

begin

Randomize;

pass.Text:='';

for i:=1 to colvo.Value do

begin

ran:

a:=random(3);

case a of

0: if num.Checked then s[i]:=IntToStr(random(10))

else goto ran;

1: if big.Checked or small.Checked

then

begin

x:=random(26)+65;

s[i]:=chr(x);

if small.Checked and (big.Checked=false)

then s[i]:=AnsiLowerCase(s[i]);

if small.Checked and big.Checked

then

begin

a:=random(2);

if a=1 then s[i]:=AnsiLowerCase(s[i]);

end;

end

else goto ran;

2:if special.Checked then

begin

a:=random(length(chars.Text))+1;

s[i]:=chars.Text[a];

end

else goto ran;

end;

pass.Text:=pass.Text+s[i];

end;

end;

Здесь каждый символ пароля получаем при помощи функции генерации случайных чисел random, и поэтому каждый следующий пароль абсолютно не похож на предыдущий. После того, как символ сгенерирован, проверяем, разрешен ли он для использования в пароле. Если его использование разрешено, то добавляем этот символ в пароль, в противном случае – генерируем новый символ.

  • Для работы с буфером обмена добавьте в раздел uses ссылку на модуль Clipbrd:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Spin, StdCtrls, Clipbrd;

  • Создайте обработчик события OnClick кнопки Копировать. Для этого в форме выполните двойной щелчок мышью на кнопке Копировать. В окне кода появится заготовка процедуры обработки события OnClick, в которой введите следующий код:

procedure TForm1.Button2Click(Sender: TObject);

begin

ClipBoard.Open;

ClipBoard.AsText:=pass.Text;

ClipBoard.Close

end;

  • Создайте обработчик события OnClick кнопки Очистить. Для этого в форме выполните двойной щелчок мышью на кнопке Очистить. В окне кода появится заготовка процедуры обработки события OnClick, в которой введите следующий код:

procedure TForm1.Button3Click(Sender: TObject);

begin

pass.Clear;

ClipBoard.Open;

ClipBoard.Clear;

ClipBoard.Close;

end;