Разработка генератора паролей - Программирование, компьютеры и кибернетика курсовая работа

Разработка генератора паролей - Программирование, компьютеры и кибернетика курсовая работа



































Обзор основных используемых языков программирования (С++, Java, Pascal). Анализ существующих методов шифрования паролей. Основные понятия объектно-ориентированного программирования. Реализация приложения для генерирования паролей на языке Object Pascal.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
· Java предоставляет для широкого использования свои апплеты (applets) - небольшие, надежные, динамичные, не зависящие от платформы активные сетевые приложения, встраиваемые в страницы Web. Апплеты Java могут настраиваться и распространяться потребителям с такой же легкостью, как любые документы HTML
· Java высвобождает мощь объектно-ориентированной разработки приложений, сочетая простой и знакомый синтаксис с надежной и удобной в работе средой разработки. Это позволяет широкому кругу программистов быстро создавать новые программы и новые апплеты
· Java предоставляет программисту богатый набор классов объектов для ясного абстрагирования многих системных функций, используемых при работе с окнами, сетью и для ввода-вывода. Ключевая черта этих классов заключается в том, что они обеспечивают создание независимых от используемой платформы абстракций для широкого спектра системных интерфейсов
Pascal (назван в честь Блеза Паскаля) - это чисто процедурный язык программирования, часто использующийся для обучения структурному программированию.
Pascal был разработан Никлаусом Виртом в 1970; вопреки расхожему мнению, он не был исключительно учебным языком, а предназначался для практического применения. Прототипом послужил Algol. Первоначально язык компилировался в байт-код, подобно языку Java.
В 1983 году был принят первый стандарт языка, ISO 7185:1983, который также называют Standard Pascal. Этот стандарт не добавлял в язык новые элементы, а только формально описывал существующие особенности языка. В 1990 году был принят стандарт ISO/IEC 10206, определяющий так называемый Extended Pascal. Основным изменением стало добавление модульности.
Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Pascal был одним из первых таких языков. По мнению Н. Вирта, язык должен был способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Pascal сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис интуитивно понятен даже при первом знакомстве с языком. Это упрощает написание компиляторов языка.
Кроме того, язык предоставлял ряд встроенных структур данных: записи, массивы, файлы, множества и указатели.
Тем не менее, первоначально язык обладал множеством недостатков: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п.
Диалект Object Pascal, разработанный в 1985 году, поддерживает объектно-ориентированное программирование. Существует ряд современных компиляторов, и в настоящее время язык достаточно популярен.
1. Архангельский А.Я. - Delphi 7. Справочное пособие. - «Бином», 2004.
2. Дарахвелидзе П.Г., Марков Е.П. - Программирование в Delphi 7, «БХВ-Петербург", 2003.
3. Кудрявцев А.С. - Программирование в Delphi. Учебное пособие, «ГОУ ВПО СПбГТУРП. - СПб», 2007.
4. Культин Н.Б. - Основы программирования в Delphi 7. - «БХВ-Петербург», 2007.
5. Фленов М.Е. - Библия Delphi. 2-е издание, «БХВ-Петербург», 2008.
Описание основной формы рабочей программы: 1 - строка меню; 2 - таблица паролей; 3 - поле безопасности файла; 4 - кнопка добавления строк; 5 - настройки безопасности файла
Модуль интерфеса - отвечает за взаимодействие программы и пользователя.
Модуль настроек - отвечает за настройки генерирования паролей и шифрования.
Модуль генерации паролей - отвечает за генерирование паролей заданной длины из заданных библиотек символов.
Модуль шифрования - отвечает за шифрование поступивших на него паролей.
Модуль дешифрования - отвечает за расшифровывание поступивших на него паролей.
При открытии программы открывается главный модуль .
Главный модуль обращается в модуль настроек , из которого получает информацию о настройках.
При открытии модуля возможен ввод настроек с клавиатуры, а также происходит вывод настроек на экран .
При требовании пользователя происходит генерация паролей. Главный модуль отправляет данные о настройках пароля в модуль генерации паролей . Модуль генерирует пароль и отправляет его обратно на главную форму .
В главный модуль возможен ввод заметок и паролей , которые обеспечивают защиту файла с паролями. Также из главного модуля происходит вывод паролей на экран .
При требовании пользователя главный модуль сохраняет сгенерированные пароли.
Сначала он обращается в модуль шифрования , где происходит шифрование пароля.
Зашифрованный пароль отправляется обратно в главную форму, откуда он отправляется в созданный файл с паролями .
При требовании пользователя главный модуль открывает сгенерированные пароли.
Сначала он обращается в файл с паролями , откуда получает зашифрованный пароль. Зашифрованный пароль отправляется из главной формы в модуль дешифрации , откуда приходит назад в форму расшифрованный.
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ImgList, Vcl.StdCtrls, Vcl.Grids,
Vcl.Imaging.jpeg, Vcl.ExtCtrls, Vcl.Menus, Vcl.Imaging.pngimage, Clipbrd,
setting, generate, coder, decoder, about, ShellApi;
procedure FormCreate(Sender: TObject);
procedure AddPasswordClick(Sender: TObject);
procedure TablicaSelectCell(Sender: TObject; ACol, ARow: Integer;
procedure TablicaMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
procedure TablicaMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
procedure N3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure SecuritybuttonClick(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure SaveButtonClick(Sender: TObject);
procedure PasswordButtonClick(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N12Click(Sender: TObject);
names,namer,confrm,reader,reader2,j:shortstring;
procedure TForm1.AddPasswordClick(Sender: TObject);
Tablica.RowCount:=Tablica.RowCount+1;
Tablica.cells[2,Tablica.RowCount-1]:='?';
Tablica.cells[3,Tablica.RowCount-1]:='d';
Tablica.cells[5,Tablica.RowCount-1]:='?';
procedure TForm1.SaveButtonClick(Sender: TObject);
if lastpassword.text='' then lastpassword.Text:='';
if lastpassword.Text<>decode.cipher(zap.password,zap.dlin) then informationlabel.Caption:='Старый пароль неверен'
if newpassword1.Text=newpassword2.text then
zap.password:=code.cipher(newpassword1.text,length(newpassword1.text));
zap.dlin:=length(newpassword1.text);
informationlabel.Caption:='Сохранено';
else informationlabel.Caption:='Пароли не совпадают';
if newpassword1.Text=newpassword2.text then
namer:=SaveDialog1.FileName+'.psw';
zap.password:=code.cipher(newpassword1.text,length(newpassword1.text));
zap.dlin:=length(newpassword1.text);
informationlabel.Caption:='Сохранено';
and (tablica.Cells[4,i]='')) then continue
if Tablica.Cells[0,i]='' then zap.flag:=false
zap.password:=code.cipher(tablica.Cells[1,i], length(tablica.Cells[1,i]));
zap.dlin:=length(tablica.Cells[1,i]);
else informationlabel.Caption:='Пароли не совпадают';
procedure TForm1.SecuritybuttonClick(Sender: TObject);
procedure TForm1.Button1Click(Sender: TObject);
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
case MessageBox(Handle,PChar('Изменения не сохранены. Закрыть без сохранения?'),PChar('Внимание'),MB_YESNOCANCEL+MB_APPLMODAL) of
namer:=SaveDialog1.FileName+'.psw';
and (tablica.Cells[4,i]='')) then continue
if Tablica.Cells[0,i]='' then zap.flag:=false
zap.password:=code.cipher(tablica.Cells[1,i], length(tablica.Cells[1,i]));
zap.dlin:=length(tablica.Cells[1,i]);
end; pswchange:=false; newdoc:=true; end
IDCANCEL: begin action:=caNone; end;
procedure TForm1.FormCreate(Sender: TObject);
if not FileExists(ExtractFilePath( ParamStr(0) ) + 'settings.stgg') then begin
showmessage('Нет файла настроек. Убедитесь, что он находится в папке с программой или переустановите её');
Tablica.Options:=Tablica.Options-[goEditing];
procedure TForm1.N12Click(Sender: TObject);
ShellExecute (Form1.Handle, nil, PChar(ExtractFilePath( ParamStr(0) ) + 'help.doc'), nil, nil, SW_RESTORE);
procedure TForm1.N13Click(Sender: TObject);
procedure TForm1.N2Click(Sender: TObject);
case MessageBox(Handle,PChar('Изменения не сохранены. Закрыть без сохранения?'),PChar('Внимание'),MB_YESNOCANCEL+MB_APPLMODAL) of
namer:=SaveDialog1.FileName+'.psw';
and (tablica.Cells[4,i]='')) then continue
if Tablica.Cells[0,i]='' then zap.flag:=false
zap.password:=code.cipher(tablica.Cells[1,i], length(tablica.Cells[1,i]));
zap.dlin:=length(tablica.Cells[1,i]);
end; pswchange:=false; newdoc:=true; end
procedure TForm1.N3Click(Sender: TObject);
if pis<>0 then begin if PSWChange=true then
case MessageBox(Handle,PChar('Изменения не сохранены. Закрыть без сохранения?'),PChar('Внимание'),MB_YESNOCANCEL+MB_APPLMODAL) of
namer:=SaveDialog1.FileName+'.psw';
and (tablica.Cells[4,i]='')) then continue
if Tablica.Cells[0,i]='' then zap.flag:=false
zap.password:=code.cipher(tablica.Cells[1,i], length(tablica.Cells[1,i]));
zap.dlin:=length(tablica.Cells[1,i]);
end; newdoc:=false; pswchange:=false; end
if filesize(f)=1 then tablica.RowCount:=2
if filesize(f)-1<>Tablica.RowCount then
if zap.dlin<>0 then n:=1 else n:=0;
if zap.flag=false then tablica.Cells[0,i]:=''
if n=1 then begin tablica.cells[1,i]:='Ай-ай-ай!'; pis:=0; end
else begin tablica.cells[1,i]:=decode.cipher(zap.password, zap.dlin); pis:=1; end;
procedure TForm1.N4Click(Sender: TObject);
if pis <>0 then if newdoc=false then begin
and (tablica.Cells[4,i]='')) then continue
if Tablica.Cells[0,i]='' then zap.flag:=false
zap.password:=code.cipher(tablica.Cells[1,i], length(tablica.Cells[1,i]));
zap.dlin:=length(tablica.Cells[1,i]);
namer:=SaveDialog1.FileName+'.psw';
and (tablica.Cells[4,i]='')) then continue
if Tablica.Cells[0,i]='' then zap.flag:=false
zap.password:=code.cipher(tablica.Cells[1,i], length(tablica.Cells[1,i]));
zap.dlin:=length(tablica.Cells[1,i]);
procedure TForm1.N5Click(Sender: TObject);
if pis <>0 then if SaveDialog1.Execute then
namer:=SaveDialog1.FileName+'.psw';
and (tablica.Cells[4,i]='')) then continue
if Tablica.Cells[0,i]='' then zap.flag:=false
zap.password:=code.cipher(tablica.Cells[1,i], length(tablica.Cells[1,i]));
zap.dlin:=length(tablica.Cells[1,i]);
end; newdoc:=false; pswchange:=false; end;
procedure TForm1.N9Click(Sender: TObject);
procedure TForm1.PasswordButtonClick(Sender: TObject);
if passwordedit.text=decode.cipher(zap.password,zap.dlin) then
for i:=1 to filesize(f)-1 do begin pis:=1; read(f,zap); tablica.cells[1,i]:=decode.cipher(zap.password,zap.dlin); label8.caption:=''; end
else label8.caption:='Пароль неверный';
procedure TForm1.TablicaMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
Tablica.Perform(WM_VScroll, SB_LINEDOWN, 0); Handled:=True;
procedure TForm1.TablicaMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
Tablica.Perform(WM_VScroll, SB_LINEUP, 0); Handled:=True;
procedure TForm1.TablicaSelectCell(Sender: TObject; ACol, ARow: Integer;
Tablica.Options:=Tablica.Options-[goEditing];
if Tablica.cells[ACol,ARow]='?' then Tablica.cells[ACol,ARow]:=''
else Tablica.cells[ACol,ARow]:='?';
if (Acol=1) then Tablica.Options:=Tablica.Options-[goEditing];
Tablica.Options:=Tablica.Options-[goEditing];
pswchange:=true; Tablica.Cells[Acol-1,Arow]:=gener.password(setting.symbol,setting.rate);
Tablica.Options:=Tablica.Options-[goEditing];
ClipBoard.AsText:=Tablica.Cells[ACol-2,Arow];
if (Acol=4) then begin Tablica.Options:=Tablica.Options+[goEditing]; pswchange:=true; end;
if (ACol=5) then begin Tablica.Options:=Tablica.Options-[goEditing]; pswchange:=true;
Tablica.Cells [0,arow]:=''; Tablica.Cells [1,arow]:=''; Tablica.Cells [4,arow]:='';
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls,
Vcl.Imaging.pngimage, Vcl.ExtCtrls, Vcl.Grids;
procedure SymbolBarChange(Sender: TObject);
procedure RateBarChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SaveButtonClick(Sender: TObject);
procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
procedure TSettings.FormCreate(Sender: TObject);
names:= ExtractFilePath( ParamStr(0) ) + 'settings.stgg';
0:UserNoticeRateBar.Caption:='1 знак';
1:UserNoticeRateBar.Caption:='2 знака';
2:UserNoticeRateBar.Caption:='3 знака';
3:UserNoticeRateBar.Caption:='4 знака';
4:UserNoticeRateBar.Caption:='5 знаков';
5:UserNoticeRateBar.Caption:='6 знаков ';
6:UserNoticeRateBar.Caption:='7 знаков';
7:UserNoticeRateBar.Caption:='8 знаков';
8:UserNoticeRateBar.Caption:='9 знаков ';
9:UserNoticeRateBar.Caption:='10 знаков';
10:UserNoticeRateBar.Caption:='11 знаков';
11:UserNoticeRateBar.Caption:='12 знаков';
12:UserNoticeRateBar.Caption:='13 знаков';
13:UserNoticeRateBar.Caption:='14 знаков';
14:UserNoticeRateBar.Caption:='15 знаков';
15:UserNoticeRateBar.Caption:='16 знаков';
16:UserNoticeRateBar.Caption:='17 знаков';
17:UserNoticeRateBar.Caption:='18 знаков';
18:UserNoticeRateBar.Caption:='19 знаков';
19:UserNoticeRateBar.Caption:='20 знаков';
0:UserNoticeSymbolBar.Caption:='Только цифры';
1:UserNoticeSymbolBar.Caption:='Только строчные латинские буквы';
2:UserNoticeSymbolBar.Caption:='Только заглавные латинские буквы';
3:UserNoticeSymbolBar.Caption:='Цифры и строчные латинские буквы';
4:UserNoticeSymbolBar.Caption:='Цифры и заглавные латинские буквы';
5:UserNoticeSymbolBar.Caption:='Заглавные и строчные латинские буквы';
6:UserNoticeSymbolBar.Caption:='Цифры, заглавные и строчные латинские буквы';
procedure TSettings.RateBarChange(Sender: TObject);
0:UserNoticeRateBar.Caption:='1 знак';
1:UserNoticeRateBar.Caption:='2 знака';
2:UserNoticeRateBar.Caption:='3 знака';
3:UserNoticeRateBar.Caption:='4 знака';
4:UserNoticeRateBar.Caption:='5 знаков';
5:UserNoticeRateBar.Caption:='6 знаков ';
6:UserNoticeRateBar.Caption:='7 знаков';
7:UserNoticeRateBar.Caption:='8 знаков';
8:UserNoticeRateBar.Caption:='9 знаков ';
9:UserNoticeRateBar.Caption:='10 знаков';
10:UserNoticeRateBar.Caption:='11 знаков';
11:UserNoticeRateBar.Caption:='12 знаков';
12:UserNoticeRateBar.Caption:='13 знаков';
13:UserNoticeRateBar.Caption:='14 знаков';
14:UserNoticeRateBar.Caption:='15 знаков';
15:UserNoticeRateBar.Caption:='16 знаков';
16:UserNoticeRateBar.Caption:='17 знаков';
17:UserNoticeRateBar.Caption:='18 знаков';
18:UserNoticeRateBar.Caption:='19 знаков';
19:UserNoticeRateBar.Caption:='20 знаков';
procedure TSettings.SaveButtonClick(Sender: TObject);
procedure TSettings.StringGrid1KeyPress(Sender: TObject; var Key: Char);
if not (key in ['0'..'9',#8]) then key:=#0;
procedure TSettings.SymbolBarChange(Sender: TObject);
0:UserNoticeSymbolBar.Caption:='Только цифры';
1:UserNoticeSymbolBar.Caption:='Только строчные латинские буквы';
2:UserNoticeSymbolBar.Caption:='Только заглавные латинские буквы';
3:UserNoticeSymbolBar.Caption:='Цифры и строчные латинские буквы';
4:UserNoticeSymbolBar.Caption:='Цифры и заглавные латинские буквы';
5:UserNoticeSymbolBar.Caption:='Заглавные и строчные латинские буквы';
6:UserNoticeSymbolBar.Caption:='Цифры, заглавные и строчные латинские буквы';
function password(symbolpassword,ratepassword:integer):string;
nabor1, nabor2, nabor3:shortstring;
Понятие объектно-ориентированного программирования, характеристика используемых языков. Практическая разработка средств объектно-ориентированного программирования в задачах защиты информации: программная реализация на языке С++, а также Turbo Pascal. курсовая работа [275,9 K], добавлен 22.12.2011
Методы грамматического разбора. Разработка структуры учебного транслятора на базовом языке программирования Object Pascal в среде объектно-ориентированного визуального программирования Borland DELPHI 6.0 с использованием операционной системы Windows XP. курсовая работа [493,8 K], добавлен 12.05.2013
Основные понятия и структура обработчика на языке Pascal. Элективные курсы по информатике в системе профильного обучения. Элективный курс "Программирование в среде Delphi". Методические материалы по изучению программирования на языке Object Pascal. методичка [55,4 K], добавлен 08.12.2010
Концепция объектно-ориентированного программирования. Объектно-ориентированные языки программирования: Smalltalk, Object Pascal, CLOS и C++. Понятие "Объект" и "Класс". Управление доступом к элементам данных классов. Определение функций-членов класса. реферат [24,5 K], добавлен 28.10.2011
Изучение объектно-ориентированного языка программирования Java, его функциональные возможности. Создание программного кода. Описание классов и методов, использованных в программе. Руководство пользователя, запуск сервера и клиентского приложения. курсовая работа [1,8 M], добавлен 16.09.2015
Определение и анализ сущности брутфорса – одного из популярных методов взлома паролей на серверах и в различных программах. Характеристика клавиатурного шпиона на базе драйвера. Рассмотрение основных программ для поиска и удаления клавиатурных шпионов. курсовая работа [100,9 K], добавлен 03.08.2017
Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла. отчет по практике [2,1 M], добавлен 02.05.2014
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Разработка генератора паролей курсовая работа. Программирование, компьютеры и кибернетика.
Реферат: Технологія окремих харчових продуктів
Боголюбов Контрольные Работы 11 Класс
Дипломная работа по теме Анализ источников формирования капитала организации
Реферат: Shawshank Redemption Essay Research Paper The Shawshank
Реферат: Боррелиозы
Доклад На Тему Здоровый Образ Жизни И Профилактика Утомления
Контрольная работа по теме Банковские системы развитых стран мира
Курсовая Работа На Тему Налог С Владельцев Транспортных Средств
Реферат по теме Взаимоотношения русской православной церкви и государства в современной России
Контрольная работа по теме Театрализованная игра как помощник воспитания
Реферат: Рынок капиталов и ценных бумаг
Курсовая работа по теме Идентификация и установление качества ряженки, реализуемой в торговой сети 'Пятерочка'
Сочинение 3 Класс Беларусь
Дипломная работа: Коллектив, история и современность. Скачать бесплатно и без регистрации
Отчет по практике по теме Аналіз діяльності готелю 'Хутір'
Реферат: Genie
Доклад по теме Особенности клинического течения инфаркта миокарда
Практическое задание по теме Экзаменационные тесты по высшей математике
Курсовая работа по теме Расторжение брака
Курсовая работа: Паблик рилейшнз
Методы визуальной диагностики дыхательной системы, особенности у детей. Визуальная диагностика синдрома уплотнения легочной ткани - Медицина презентация
Особенности функционирования терминосистемы сферы обслуживания в гражданской авиации на материале английского языка - Иностранные языки и языкознание дипломная работа
Предмет и задачи криминалистики - Государство и право курсовая работа


Report Page