48607 (Разработка почтового клиента для операционной системы Windows), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработка почтового клиента для операционной системы Windows", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48607"

Текст 2 страницы из документа "48607"

pSocket->Send(out,out.GetLength(),0)

  1. Если получен положительный ответ, то отправка серверу команды STAT, иначе 14

  2. Отправка серверу команды QUIT.

1.5 AUTH аутентификация

  1. Если соединение с сервером установлено то 2, инчае вывод окна ошибки:

  2. Установка окна кнопки соединения с сервером в неактивное сотояние

  3. Устанвка окна кнопки разрыва соединения в активное стостояние

  4. Получение строки ответа от сервера в массив и buf. Количество байт, полученных от сервера присваивается переменной int recived.

  5. Формирование с помощью метода строки messtr.Forma() строки messtr messtr.Format("S: %s",buf)

  6. Поиск в полученной от сервера строки приветствия уникальной метки.

  7. Вывод строки messtr в ListBox.

  8. Обнуление массива buf

  9. Если от сервера получен положительный ответ, то 11, иначе 14

  10. Вычисление MD5 хэша от метки сервера с паролем пользователя в качестве ключа.

  11. Отправка серверу команды APOP:

out="AUTH " + login + " " + md5Capi.Digest(in)+"\n\r";

pSocket->Send(out,out.GetLength(),0)

  1. Если получен положительный ответ, то отправка серверу команды STAT, иначе 14

  2. Отправка серверу команды QUIT.

  1. 2. Описание алгоритма программы

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

2.1 Простая аутентификация

После подключения разрабатываемого клиентского приложения к серверу и воду пользователем необходимых строк, серверу отправляется команда USER с именем пользователя. После этого программа переходит в режим ожидания ответа сервера. После того как строка с ответом сервера приходит в сокет клиента, то эта строка сохраняется в соответствующий буфер, который используется для хранения строк, содержащих команды протокола. После этого производится проверка ответной строки сервера. Если строка ответа сервера содержит начальную подстроку –ERR, то значит ящика с данным именем на сервере не существует. В данном случае серверу отправляется команда QUIT и производится выход из процедуры. Если же строка начинается с +ОК, то почтовый ящик с данным именем существует на сервере и сервер ожидает пароля для доступа к нему. Далее производится отправка серверу строки с командой PASS, содержащей пароль пользователя для доступа к почтовому ящику. Далее программа опять переходит в режим ожидания ответа сервера и производится прием и анализ полученной от него строки. Если строка содержит начальную подстроку +ОК, значит пароль, введенный пользователем корректен, и сервер перешел в операционную фазу. Если строка-ответ сервера содержит подстроку –ERR, то серверу отправляется команда QUIT и производится выход из процедуры.

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

2.2 APOP аутентификация

Если пользователем был выбран тип аутентификации с использованием бесключевой хэш-функции MD5, то алгоритм программы переходит к выполнению данной процедуры. В данном виде аутентификации используется строка, которая была получена из основной части алгоритма. На втором шаге алгоритма функции apop производится склеивание полученной строки метки времени сервера с паролем пользователя. После этого производится вычисление MD5 хэша от этой строки. После этого формируется строка для команды APOP. Эта строка имеет следующий вид: «APOP имя_пользователя хэш-функция». После того, как эта строка сформирована, она отправляется серверу. После этого программа переходит в состояние ожидания ответна от сервера. После получения строки с ответом сервера производится ее разбор. Если строка содержит начальную подстроку –ERR, то аутентификации е пройдена и производится отправка серверу строки с командой QUIT и выход из программы. Если строка содержит начальную подстроку +OK, то значит аутентификация пройдена успешно и программа переходит в операционную фазу. В этой фазе серверу отсылается команда STAT и после этого команда QUIT. После этого производится разрыв связи с сервером и завершение программы.

2.3 AUTH аутентификация (CRAM-MD5)

Вызов данной функции осуществляется в случае, если пользователем был выбран вид аутентификации с использованием ключевой функции MD5. Алгоритм функционирования данной функции практически полностью совпадает с алгоритмом, описным в предыдущем пункте., за исключением того, что:

- производится вычисление хэш-функции MD5 от уникальной метки, полученной от сервера мс использованием пароля, введенного пользователем.

- Серверу отправляется строка вида «AUTH имя_пользователя хэш-функция»

3. Руководство пользователя

Разработанная программа имеет графический интерфейс

Рис.1 Интерфейс программы

После запуска программы пользователь должен указать адрес сервера к которому он обращается, номер порта, имя пользователя, а так же пароль, после чего должен выбрать вид аутентификации:

    • простая

    • APOP

    • AUTH

После чего нажать клавишу “Подключиться”. При завершении работы программы или выборе другой аутентификации необходимо нажать клавишу “Отключиться”.

Для выхода из программы необходимо нажать крестик или клавишу “Выход”.



Заключение

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

Таким образом, все требования задания выполнены в полном объеме.


Список использованных источников
  1. www.rsdn.ru

  2. www.codenet.ru

  3. www.firststeps.



  • Приложение А. Алгоритм функционирования программы

Простая аутентификация

Аутентификация с бесключевой хэш-функцией. Команда APOP

Аутентификация с ключевой хэш-функцией CRAM-MD5. AUTH.

Общий алгоритм

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4100
Авторов
на СтудИзбе
670
Средний доход
с одного платного файла
Обучение Подробнее