畢業(yè)設(shè)計(jì)(論文)基于DES加密的可視化聊天程序_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于DES加密的可視化聊天程序_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于DES加密的可視化聊天程序_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于DES加密的可視化聊天程序_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于DES加密的可視化聊天程序_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、提供全套畢業(yè)論文圖紙,歡迎咨詢(xún)基于des加密的可視化聊天程序設(shè)計(jì)與實(shí)現(xiàn) 班級(jí):網(wǎng)絡(luò)123 學(xué)號(hào):201200824314 姓名:趙恒 指導(dǎo)老師:孫飛顯摘要本論文所設(shè)計(jì)的局域網(wǎng)聊天程序?qū)⒉捎密浖こ虒W(xué)的設(shè)計(jì)流程,其所涉及專(zhuān)業(yè)技術(shù)主要包含socket網(wǎng)絡(luò)編程,windows mfc 程序設(shè)計(jì)技術(shù),des加密/解密機(jī)制。本程序?qū)⒁詖c 6.0作為程序開(kāi)發(fā)工具。此聊天程序?qū)⒉捎胏/s模式即客戶(hù)端/服務(wù)器模式??蛻?hù)端和服務(wù)器、之間采用udp協(xié)議進(jìn)行通信。客戶(hù)端需手動(dòng)輸入服務(wù)器地址。關(guān)鍵詞:局域網(wǎng)聊天:socket(套接字);des加密/解密機(jī)制;客戶(hù)端/服務(wù)器模式;mfc(微軟基礎(chǔ)類(lèi));udp(用戶(hù)數(shù)據(jù)

2、報(bào)協(xié)議)。 一、選題背景4二、設(shè)計(jì)目標(biāo)5三、需求分析53.1可行性分析53.2系統(tǒng)總體需求分析63.3開(kāi)發(fā)運(yùn)行環(huán)境6四、設(shè)計(jì)原理74.1c/s軟件架構(gòu)技術(shù)74.2visualc+中的mfc74.3加解密原理9五、設(shè)計(jì)步驟115.1體系結(jié)構(gòu)設(shè)計(jì)115.2功能能模塊設(shè)計(jì)115.3界面設(shè)計(jì)與編碼實(shí)現(xiàn)135.3.1服務(wù)器界面設(shè)計(jì)135.3.2客戶(hù)端界面設(shè)計(jì)145.3.3des加密/解密函數(shù)145.3.4服務(wù)器中消息加密與解密15六、測(cè)試結(jié)果16七、參考文獻(xiàn)17 一、選題背景隨著it技術(shù)飛速發(fā)展,人們的日常生活越來(lái)越離不開(kāi)互聯(lián)網(wǎng)。各種基于網(wǎng)絡(luò)的應(yīng)用技術(shù)在人們的政治、經(jīng)濟(jì)、生活等的各個(gè)方面都發(fā)揮著重要的作

3、用。各種實(shí)時(shí)性的聊天娛樂(lè)軟件也應(yīng)運(yùn)而生,而且為我們的即時(shí)通訊帶來(lái)了眾多的方便。例如qq,msn,飛信,微信等基于internet的即時(shí)聊天工具。這些工具通過(guò)網(wǎng)絡(luò)這個(gè)新興的媒介進(jìn)行信息交流相比其他傳統(tǒng)媒介具有數(shù)據(jù)量大,實(shí)時(shí)性強(qiáng),操作簡(jiǎn)單,成本低廉等優(yōu)點(diǎn)。不僅如此即時(shí)聊工具還具備許多傳統(tǒng)媒介不具備的強(qiáng)大功能,它們能傳送文字、聲音、影像和文檔,而且能更加人性化的顯示聯(lián)絡(luò)人的名單和通信狀態(tài)。因而它們?cè)诂F(xiàn)實(shí)生活中受到了用戶(hù)廣泛的歡迎,這是我們有目共睹的。目前基于internet的即時(shí)聊天工具已經(jīng)做的非常完美,然而基于局域網(wǎng)的即時(shí)加密聊天工具卻不如人意。因此,我們也需要一個(gè)實(shí)用性強(qiáng)和安全性高的基于局域網(wǎng)的

4、即時(shí)聊天工具。當(dāng)學(xué)習(xí)了網(wǎng)絡(luò)安全程序設(shè)計(jì)這門(mén)課程之后,我們發(fā)現(xiàn)要設(shè)計(jì)和實(shí)現(xiàn)一個(gè)簡(jiǎn)單的加密可視化聊天程序并不困難。首先,我們已經(jīng)學(xué)習(xí)了密碼學(xué)原理與應(yīng)用,對(duì)des加密/解密機(jī)制已經(jīng)比較熟悉。其次,我們也已經(jīng)學(xué)習(xí)過(guò)windows程序設(shè)計(jì)(mfc語(yǔ)言),熟悉mfc語(yǔ)言,做一個(gè)可視化的程序很容易。最后,我們從網(wǎng)絡(luò)安全程序設(shè)計(jì)這門(mén)課也學(xué)習(xí)到了設(shè)計(jì)一個(gè)軟件的具體步驟和方法。二、設(shè)計(jì)目標(biāo)我認(rèn)為本設(shè)計(jì)需要滿(mǎn)足以下幾個(gè)系統(tǒng)設(shè)計(jì)目標(biāo):(1)實(shí)用性原則:對(duì)于用戶(hù)有實(shí)際的工作服務(wù),按照需求的輕重緩急,合理設(shè)計(jì)本系統(tǒng)。 (2)可靠性原則: 必須為用戶(hù)提供安全的服務(wù), 首先是要保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性,其次要保證數(shù)據(jù)的安全性。(

5、3)友好性原則:使用本系統(tǒng)的用戶(hù)相當(dāng)一部分對(duì)計(jì)算機(jī)知識(shí)了解很少,所以系統(tǒng)操作上要求簡(jiǎn)單方便,系統(tǒng)使用過(guò)程中必須要有友好的的提示信息,這樣才便于用戶(hù)在短時(shí)間內(nèi)熟悉本系統(tǒng)。(4)可擴(kuò)展性原則:采用開(kāi)放的標(biāo)準(zhǔn)和接口,便于系統(tǒng)向更大的規(guī)模和功能擴(kuò)展,本系統(tǒng)有較好的擴(kuò)展特性。三、需求分析3.1可行性分析1)技術(shù)可行性:本系統(tǒng)以 vc6.0為開(kāi)發(fā)環(huán)境,再結(jié)合網(wǎng)絡(luò)通信中的udp協(xié)議和 socket 編程及des加密/解密技術(shù)。從技術(shù)可行性角度考慮技術(shù)完成成熟,因此本系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)是可行的。2)經(jīng)濟(jì)可行性:本系統(tǒng)開(kāi)發(fā)成本極低,無(wú)須額外的人力資源、物力資源和財(cái)力資源。而且,本系統(tǒng)的經(jīng)濟(jì)效益會(huì)遠(yuǎn)大于開(kāi)發(fā)成本,從經(jīng)

6、濟(jì)可行性角度考慮是可行的。3)操作可行性:系統(tǒng)硬件為 pc 機(jī),操作系統(tǒng)為windowsxp/windows7/windows8 , 而且編程環(huán)境 visual c+為專(zhuān)業(yè)程序員使用工具,比較易于使用,可行。3.2系統(tǒng)總體需求分析根據(jù)用戶(hù)的需求,本系統(tǒng)實(shí)現(xiàn)的功能類(lèi)似于用戶(hù)之間的聊天。在設(shè)計(jì)系統(tǒng)時(shí),系統(tǒng)布局應(yīng)該簡(jiǎn)潔、流暢,在編制程序時(shí)應(yīng)充分考慮這一點(diǎn)。同時(shí),還應(yīng)要保證數(shù)據(jù)傳輸?shù)姆€(wěn)定、快捷、安全,給用戶(hù)真正的簡(jiǎn)潔、高效、流暢、安全使用環(huán)境。用戶(hù)使用過(guò)程,首先打開(kāi)本軟件,客戶(hù)端要輸入服務(wù)器ip地址。然后,服務(wù)器與客戶(hù)端建立連接進(jìn)行通信。3.3開(kāi)發(fā)運(yùn)行環(huán)境開(kāi)發(fā)此系統(tǒng)所需的基本軟、硬件環(huán)境為:(1).w

7、indowsxp 或 windows7或windows8; (2).pentium100 及以上檔次的 pc 及其兼容機(jī); (3).128m 以上內(nèi)存措施; (4).1g 以上可用硬盤(pán)空間; (5).vga 顯示器; 以上的配置均要求為在同一局域網(wǎng)內(nèi)的兩臺(tái)或兩臺(tái)以上。四、設(shè)計(jì)原理4.1c/s軟件架構(gòu)技術(shù)c/s(client/server)結(jié)構(gòu),即大家熟知的客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到 client 端和 server 端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷(xiāo)。目前大多數(shù)應(yīng)用軟件 系統(tǒng)都是 client/server 形式的兩層結(jié)構(gòu),由于

8、現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的 web應(yīng)用發(fā)展, web和 client/server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶(hù)都可以訪(fǎng)問(wèn)新的和現(xiàn)有的應(yīng)用系統(tǒng),通過(guò)現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前 應(yīng)用系統(tǒng)的發(fā)展方向。傳統(tǒng)的 cs 體系結(jié)構(gòu)雖然采用的是開(kāi)放模式,但這只是系統(tǒng)開(kāi)發(fā)一級(jí)的開(kāi)放性, 在特定的應(yīng)用中無(wú)論是 client 端還是 server 端都還需要特定的軟件 支持。由于沒(méi)能提供用戶(hù)真正期望的開(kāi)放環(huán)境,c/s 結(jié)構(gòu)的軟件需要針對(duì)不同的 操作系 統(tǒng)系統(tǒng)開(kāi)發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適 應(yīng)百臺(tái)電腦

9、以上局域網(wǎng)用戶(hù)同時(shí)使用。4.2visualc+中的mfcvisual c+是一個(gè)功能強(qiáng)大的可視化應(yīng)用程序開(kāi)發(fā)工具,用于 windows 環(huán)境下 32 位的應(yīng)用程序的開(kāi)發(fā),是計(jì)算機(jī)界公認(rèn)的最優(yōu)秀的應(yīng)用開(kāi)發(fā)工具之一。在提 供可視化的編程方式的同時(shí),visual c+也適用于編寫(xiě)直接對(duì)系統(tǒng)底層操作的程 序,生成代碼的質(zhì)量也優(yōu)于其它的開(kāi)發(fā)工具。在 visual c+環(huán)境下,利用 microsoft 的基本類(lèi)庫(kù) mfc(microsoft foundation class library),可以使用完全的面向?qū)ο蟮姆椒▉?lái)進(jìn)行 windows 95/98/nt 應(yīng)用程序的開(kāi)發(fā),使得 windows 程序員

10、從大量的復(fù)雜勞動(dòng)中解救出來(lái),體會(huì)到真正的程序語(yǔ)言的強(qiáng)大功能和良好 的靈活性。 visual c+編程是一個(gè)面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。同傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)方法 相比,它縮短軟件的研制時(shí)間,提高軟件的開(kāi)發(fā)效率,使程序員可以更好地理解 和管理龐大而復(fù)雜的程序。 面向?qū)ο蟮某绦蛟O(shè)計(jì)吸取了結(jié)構(gòu)化程序設(shè)計(jì)的精華,它利用了人們根據(jù)對(duì)事物分 類(lèi)和抽象的傾向,引入了類(lèi)和對(duì)象的概念,具有封裝性(數(shù)據(jù)抽象)、繼承和多態(tài)的特點(diǎn)。與結(jié)構(gòu)化程序設(shè)計(jì)不同的是,面向?qū)ο蟪绦蛟O(shè)計(jì)是用類(lèi)抽象代表現(xiàn)實(shí) 的實(shí)體, 用類(lèi)之間的繼承關(guān)系表示程序設(shè)計(jì)的抽象過(guò)程。 函數(shù)只是對(duì)數(shù)據(jù)的操作, 沒(méi)有數(shù)據(jù)的概念,而類(lèi)是數(shù)據(jù)和數(shù)據(jù)操作的集合,由于面向

11、對(duì)象的程序設(shè)計(jì)方法非常近現(xiàn)實(shí),所以越來(lái)越流行。visual c+中集成了大量的最新技術(shù),如 activex、com 等技術(shù),程序開(kāi)發(fā)人員 可以緊緊地把握住軟件開(kāi)發(fā)技術(shù)發(fā)展的方向,開(kāi)發(fā)出功能強(qiáng)大的應(yīng)用程序。 visual c+還提供了豐富的技術(shù)資源,msdn(microsoft develop network)提供 了強(qiáng)大的聯(lián)機(jī)幫助支持,同時(shí)還可以通過(guò)訪(fǎng)microsoft 的網(wǎng)上站點(diǎn)來(lái)獲得最新 的技術(shù)文檔。 (1) socket 及 window socket api 簡(jiǎn)介 套接字(socket)是一種雙向的通信接口,可以通過(guò)這個(gè)端口與任何一個(gè)具 有 socket 端口的計(jì)算機(jī)通信,套接字是網(wǎng)絡(luò)

12、通信的基礎(chǔ)。socket 在 windows 以 句柄的形式被創(chuàng)建。使用 socket 進(jìn)行網(wǎng)絡(luò)通信必須包含下面的幾種信息:雙方 認(rèn)可的協(xié)議,本地主機(jī)的 ip 地址,本地進(jìn)程的協(xié)議端口,對(duì)方主機(jī)的 ip 地址, 對(duì)方進(jìn)程的協(xié)議端口。 socket 可分為: 1 數(shù)據(jù)報(bào)套接字 (datagram sockets) 對(duì)于在 tcp/ip 上實(shí)現(xiàn)的 winsock,數(shù)據(jù)報(bào)套接字使用用戶(hù)數(shù)據(jù)報(bào)協(xié)議(udp) 。數(shù)據(jù)報(bào)套接字提 供了一種不可靠的、非連接的數(shù)據(jù)包通信方式。 2 流式套接字(stream sockets) 流式套接字使用傳輸控制協(xié)議(tcp) 。流式套接字可以將數(shù)據(jù)按 順序無(wú)重復(fù)地發(fā)送到目的

13、地, 它提供的是一種可靠的、 面向連接的數(shù)據(jù)傳輸方式。 不管是對(duì)單個(gè)的數(shù)據(jù)報(bào), 還是對(duì)數(shù)據(jù)包, 流式套接字都提供了一種流式數(shù)據(jù)傳輸。 4.3加解密原理des將明文分成64比特大小的眾多數(shù)據(jù)塊,即分組長(zhǎng)度為64位,同時(shí)用56位密鑰對(duì)64位明文信息加密,最終形成64位密文。如果明文長(zhǎng)度不足64位,則將其擴(kuò)展為64位(例如補(bǔ)零等方法)。具體加密算法過(guò)程首先是將輸入的數(shù)據(jù)進(jìn)行初始換位(ip),將明文m中數(shù)據(jù)的排列順序按一定的規(guī)則重新排列,生成新的數(shù)據(jù)序列,以打亂原來(lái)的次序。然后將交換后的數(shù)據(jù)平分成左右兩部分,左邊記為l0,右邊記為r0,然后對(duì)r0施行在子密鑰(由加秘密鑰產(chǎn)生)控制下的變換f,結(jié)果記為f

14、(r0,k1,),再與l0做逐位異或運(yùn)算,其結(jié)果記為r1,r0則坐下一輪的l1。如此循環(huán)16輪,最后得到l16、r16,再對(duì)l16、r16施行逆運(yùn)算初始置換ip-1,即可得到加密數(shù)據(jù)。解密過(guò)程與此類(lèi)似,不同之處在于子密鑰的使用順序正好相反。子秘鑰產(chǎn)生流程五、設(shè)計(jì)步驟5.1體系結(jié)構(gòu)設(shè)計(jì)一般的通信工具,都采用客戶(hù)端/服務(wù)器體系結(jié)構(gòu),本程序也不例外??蛻?hù)端/服務(wù)器結(jié)構(gòu)的具體結(jié)構(gòu)是這樣的:它包含客戶(hù)端和服務(wù)器端;客戶(hù)端訪(fǎng)問(wèn)和處理服務(wù)器上的數(shù)據(jù),服務(wù)器接收和處理客戶(hù)端的數(shù)據(jù)請(qǐng)求。這種模式的好處就是可以將一個(gè)系統(tǒng)分為兩個(gè)獨(dú)立的部分進(jìn)行開(kāi)發(fā)設(shè)計(jì),便于軟件開(kāi)發(fā)。而且也把一個(gè)軟件的功能交給兩個(gè)部分去完成,則更加有效的利用了系統(tǒng)資源。5.2功能能模塊設(shè)計(jì)由于本系統(tǒng)采用c/s模式,所以對(duì)功能模塊進(jìn)行劃分時(shí),就需要分服務(wù)器和客戶(hù)端兩部分進(jìn)行。服務(wù)器有信息輸入模塊、信息接收模塊和通信對(duì)象模塊??蛻?hù)端也有信息輸入模塊、信息接收模塊和通信對(duì)象模塊。具體模塊如下圖:聊天系統(tǒng) 客戶(hù)端服務(wù)器信

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論