48607 (Разработка почтового клиента для операционной системы Windows), страница 2
Описание файла
Документ из архива "Разработка почтового клиента для операционной системы Windows", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48607"
Текст 2 страницы из документа "48607"
pSocket->Send(out,out.GetLength(),0)
-
Если получен положительный ответ, то отправка серверу команды STAT, иначе 14
-
Отправка серверу команды QUIT.
1.5 AUTH аутентификация
-
Если соединение с сервером установлено то 2, инчае вывод окна ошибки:
-
Установка окна кнопки соединения с сервером в неактивное сотояние
-
Устанвка окна кнопки разрыва соединения в активное стостояние
-
Получение строки ответа от сервера в массив и buf. Количество байт, полученных от сервера присваивается переменной int recived.
-
Формирование с помощью метода строки messtr.Forma() строки messtr messtr.Format("S: %s",buf)
-
Поиск в полученной от сервера строки приветствия уникальной метки.
-
Вывод строки messtr в ListBox.
-
Обнуление массива buf
-
Если от сервера получен положительный ответ, то 11, иначе 14
-
Вычисление MD5 хэша от метки сервера с паролем пользователя в качестве ключа.
-
Отправка серверу команды APOP:
out="AUTH " + login + " " + md5Capi.Digest(in)+"\n\r";
pSocket->Send(out,out.GetLength(),0)
-
Если получен положительный ответ, то отправка серверу команды STAT, иначе 14
-
Отправка серверу команды QUIT.
-
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 и имеет графический интерфейс.
Таким образом, все требования задания выполнены в полном объеме.
Список использованных источников
-
www.rsdn.ru
-
www.codenet.ru
-
www.firststeps.
-
Приложение А. Алгоритм функционирования программы
Простая аутентификация
Аутентификация с бесключевой хэш-функцией. Команда APOP
Аутентификация с ключевой хэш-функцией CRAM-MD5. AUTH.
Общий алгоритм