版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、提供全套畢業(yè)論文圖紙,歡迎咨詢基于des加密的可視化聊天程序設計與實現(xiàn) 班級:網(wǎng)絡123 學號:201200824314 姓名:趙恒 指導老師:孫飛顯摘要本論文所設計的局域網(wǎng)聊天程序?qū)⒉捎密浖こ虒W的設計流程,其所涉及專業(yè)技術(shù)主要包含socket網(wǎng)絡編程,windows mfc 程序設計技術(shù),des加密/解密機制。本程序?qū)⒁詖c 6.0作為程序開發(fā)工具。此聊天程序?qū)⒉捎胏/s模式即客戶端/服務器模式??蛻舳撕头掌?、之間采用udp協(xié)議進行通信??蛻舳诵枋謩虞斎敕掌鞯刂?。關鍵詞:局域網(wǎng)聊天:socket(套接字);des加密/解密機制;客戶端/服務器模式;mfc(微軟基礎類);udp(用戶數(shù)據(jù)
2、報協(xié)議)。 一、選題背景4二、設計目標5三、需求分析53.1可行性分析53.2系統(tǒng)總體需求分析63.3開發(fā)運行環(huán)境6四、設計原理74.1c/s軟件架構(gòu)技術(shù)74.2visualc+中的mfc74.3加解密原理9五、設計步驟115.1體系結(jié)構(gòu)設計115.2功能能模塊設計115.3界面設計與編碼實現(xiàn)135.3.1服務器界面設計135.3.2客戶端界面設計145.3.3des加密/解密函數(shù)145.3.4服務器中消息加密與解密15六、測試結(jié)果16七、參考文獻17 一、選題背景隨著it技術(shù)飛速發(fā)展,人們的日常生活越來越離不開互聯(lián)網(wǎng)。各種基于網(wǎng)絡的應用技術(shù)在人們的政治、經(jīng)濟、生活等的各個方面都發(fā)揮著重要的作
3、用。各種實時性的聊天娛樂軟件也應運而生,而且為我們的即時通訊帶來了眾多的方便。例如qq,msn,飛信,微信等基于internet的即時聊天工具。這些工具通過網(wǎng)絡這個新興的媒介進行信息交流相比其他傳統(tǒng)媒介具有數(shù)據(jù)量大,實時性強,操作簡單,成本低廉等優(yōu)點。不僅如此即時聊工具還具備許多傳統(tǒng)媒介不具備的強大功能,它們能傳送文字、聲音、影像和文檔,而且能更加人性化的顯示聯(lián)絡人的名單和通信狀態(tài)。因而它們在現(xiàn)實生活中受到了用戶廣泛的歡迎,這是我們有目共睹的。目前基于internet的即時聊天工具已經(jīng)做的非常完美,然而基于局域網(wǎng)的即時加密聊天工具卻不如人意。因此,我們也需要一個實用性強和安全性高的基于局域網(wǎng)的
4、即時聊天工具。當學習了網(wǎng)絡安全程序設計這門課程之后,我們發(fā)現(xiàn)要設計和實現(xiàn)一個簡單的加密可視化聊天程序并不困難。首先,我們已經(jīng)學習了密碼學原理與應用,對des加密/解密機制已經(jīng)比較熟悉。其次,我們也已經(jīng)學習過windows程序設計(mfc語言),熟悉mfc語言,做一個可視化的程序很容易。最后,我們從網(wǎng)絡安全程序設計這門課也學習到了設計一個軟件的具體步驟和方法。二、設計目標我認為本設計需要滿足以下幾個系統(tǒng)設計目標:(1)實用性原則:對于用戶有實際的工作服務,按照需求的輕重緩急,合理設計本系統(tǒng)。 (2)可靠性原則: 必須為用戶提供安全的服務, 首先是要保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性,其次要保證數(shù)據(jù)的安全性。(
5、3)友好性原則:使用本系統(tǒng)的用戶相當一部分對計算機知識了解很少,所以系統(tǒng)操作上要求簡單方便,系統(tǒng)使用過程中必須要有友好的的提示信息,這樣才便于用戶在短時間內(nèi)熟悉本系統(tǒng)。(4)可擴展性原則:采用開放的標準和接口,便于系統(tǒng)向更大的規(guī)模和功能擴展,本系統(tǒng)有較好的擴展特性。三、需求分析3.1可行性分析1)技術(shù)可行性:本系統(tǒng)以 vc6.0為開發(fā)環(huán)境,再結(jié)合網(wǎng)絡通信中的udp協(xié)議和 socket 編程及des加密/解密技術(shù)。從技術(shù)可行性角度考慮技術(shù)完成成熟,因此本系統(tǒng)設計與實現(xiàn)是可行的。2)經(jīng)濟可行性:本系統(tǒng)開發(fā)成本極低,無須額外的人力資源、物力資源和財力資源。而且,本系統(tǒng)的經(jīng)濟效益會遠大于開發(fā)成本,從經(jīng)
6、濟可行性角度考慮是可行的。3)操作可行性:系統(tǒng)硬件為 pc 機,操作系統(tǒng)為windowsxp/windows7/windows8 , 而且編程環(huán)境 visual c+為專業(yè)程序員使用工具,比較易于使用,可行。3.2系統(tǒng)總體需求分析根據(jù)用戶的需求,本系統(tǒng)實現(xiàn)的功能類似于用戶之間的聊天。在設計系統(tǒng)時,系統(tǒng)布局應該簡潔、流暢,在編制程序時應充分考慮這一點。同時,還應要保證數(shù)據(jù)傳輸?shù)姆€(wěn)定、快捷、安全,給用戶真正的簡潔、高效、流暢、安全使用環(huán)境。用戶使用過程,首先打開本軟件,客戶端要輸入服務器ip地址。然后,服務器與客戶端建立連接進行通信。3.3開發(fā)運行環(huán)境開發(fā)此系統(tǒng)所需的基本軟、硬件環(huán)境為:(1).w
7、indowsxp 或 windows7或windows8; (2).pentium100 及以上檔次的 pc 及其兼容機; (3).128m 以上內(nèi)存措施; (4).1g 以上可用硬盤空間; (5).vga 顯示器; 以上的配置均要求為在同一局域網(wǎng)內(nèi)的兩臺或兩臺以上。四、設計原理4.1c/s軟件架構(gòu)技術(shù)c/s(client/server)結(jié)構(gòu),即大家熟知的客戶機/服務器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到 client 端和 server 端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應用軟件 系統(tǒng)都是 client/server 形式的兩層結(jié)構(gòu),由于
8、現(xiàn)在的軟件應用系統(tǒng)正在向分布式的 web應用發(fā)展, web和 client/server 應用都可以進行同樣的業(yè)務處理,應用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應用系統(tǒng),通過現(xiàn)有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。這也就是目前 應用系統(tǒng)的發(fā)展方向。傳統(tǒng)的 cs 體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性, 在特定的應用中無論是 client 端還是 server 端都還需要特定的軟件 支持。由于沒能提供用戶真正期望的開放環(huán)境,c/s 結(jié)構(gòu)的軟件需要針對不同的 操作系 統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適 應百臺電腦
9、以上局域網(wǎng)用戶同時使用。4.2visualc+中的mfcvisual c+是一個功能強大的可視化應用程序開發(fā)工具,用于 windows 環(huán)境下 32 位的應用程序的開發(fā),是計算機界公認的最優(yōu)秀的應用開發(fā)工具之一。在提 供可視化的編程方式的同時,visual c+也適用于編寫直接對系統(tǒng)底層操作的程 序,生成代碼的質(zhì)量也優(yōu)于其它的開發(fā)工具。在 visual c+環(huán)境下,利用 microsoft 的基本類庫 mfc(microsoft foundation class library),可以使用完全的面向?qū)ο蟮姆椒▉磉M行 windows 95/98/nt 應用程序的開發(fā),使得 windows 程序員
10、從大量的復雜勞動中解救出來,體會到真正的程序語言的強大功能和良好 的靈活性。 visual c+編程是一個面向?qū)ο蟮某绦蛟O計方法。同傳統(tǒng)的結(jié)構(gòu)化程序設計方法 相比,它縮短軟件的研制時間,提高軟件的開發(fā)效率,使程序員可以更好地理解 和管理龐大而復雜的程序。 面向?qū)ο蟮某绦蛟O計吸取了結(jié)構(gòu)化程序設計的精華,它利用了人們根據(jù)對事物分 類和抽象的傾向,引入了類和對象的概念,具有封裝性(數(shù)據(jù)抽象)、繼承和多態(tài)的特點。與結(jié)構(gòu)化程序設計不同的是,面向?qū)ο蟪绦蛟O計是用類抽象代表現(xiàn)實 的實體, 用類之間的繼承關系表示程序設計的抽象過程。 函數(shù)只是對數(shù)據(jù)的操作, 沒有數(shù)據(jù)的概念,而類是數(shù)據(jù)和數(shù)據(jù)操作的集合,由于面向
11、對象的程序設計方法非常近現(xiàn)實,所以越來越流行。visual c+中集成了大量的最新技術(shù),如 activex、com 等技術(shù),程序開發(fā)人員 可以緊緊地把握住軟件開發(fā)技術(shù)發(fā)展的方向,開發(fā)出功能強大的應用程序。 visual c+還提供了豐富的技術(shù)資源,msdn(microsoft develop network)提供 了強大的聯(lián)機幫助支持,同時還可以通過訪microsoft 的網(wǎng)上站點來獲得最新 的技術(shù)文檔。 (1) socket 及 window socket api 簡介 套接字(socket)是一種雙向的通信接口,可以通過這個端口與任何一個具 有 socket 端口的計算機通信,套接字是網(wǎng)絡
12、通信的基礎。socket 在 windows 以 句柄的形式被創(chuàng)建。使用 socket 進行網(wǎng)絡通信必須包含下面的幾種信息:雙方 認可的協(xié)議,本地主機的 ip 地址,本地進程的協(xié)議端口,對方主機的 ip 地址, 對方進程的協(xié)議端口。 socket 可分為: 1 數(shù)據(jù)報套接字 (datagram sockets) 對于在 tcp/ip 上實現(xiàn)的 winsock,數(shù)據(jù)報套接字使用用戶數(shù)據(jù)報協(xié)議(udp) 。數(shù)據(jù)報套接字提 供了一種不可靠的、非連接的數(shù)據(jù)包通信方式。 2 流式套接字(stream sockets) 流式套接字使用傳輸控制協(xié)議(tcp) 。流式套接字可以將數(shù)據(jù)按 順序無重復地發(fā)送到目的
13、地, 它提供的是一種可靠的、 面向連接的數(shù)據(jù)傳輸方式。 不管是對單個的數(shù)據(jù)報, 還是對數(shù)據(jù)包, 流式套接字都提供了一種流式數(shù)據(jù)傳輸。 4.3加解密原理des將明文分成64比特大小的眾多數(shù)據(jù)塊,即分組長度為64位,同時用56位密鑰對64位明文信息加密,最終形成64位密文。如果明文長度不足64位,則將其擴展為64位(例如補零等方法)。具體加密算法過程首先是將輸入的數(shù)據(jù)進行初始換位(ip),將明文m中數(shù)據(jù)的排列順序按一定的規(guī)則重新排列,生成新的數(shù)據(jù)序列,以打亂原來的次序。然后將交換后的數(shù)據(jù)平分成左右兩部分,左邊記為l0,右邊記為r0,然后對r0施行在子密鑰(由加秘密鑰產(chǎn)生)控制下的變換f,結(jié)果記為f
14、(r0,k1,),再與l0做逐位異或運算,其結(jié)果記為r1,r0則坐下一輪的l1。如此循環(huán)16輪,最后得到l16、r16,再對l16、r16施行逆運算初始置換ip-1,即可得到加密數(shù)據(jù)。解密過程與此類似,不同之處在于子密鑰的使用順序正好相反。子秘鑰產(chǎn)生流程五、設計步驟5.1體系結(jié)構(gòu)設計一般的通信工具,都采用客戶端/服務器體系結(jié)構(gòu),本程序也不例外??蛻舳?服務器結(jié)構(gòu)的具體結(jié)構(gòu)是這樣的:它包含客戶端和服務器端;客戶端訪問和處理服務器上的數(shù)據(jù),服務器接收和處理客戶端的數(shù)據(jù)請求。這種模式的好處就是可以將一個系統(tǒng)分為兩個獨立的部分進行開發(fā)設計,便于軟件開發(fā)。而且也把一個軟件的功能交給兩個部分去完成,則更加有效的利用了系統(tǒng)資源。5.2功能能模塊設計由于本系統(tǒng)采用c/s模式,所以對功能模塊進行劃分時,就需要分服務器和客戶端兩部分進行。服務器有信息輸入模塊、信息接收模塊和通信對象模塊。客戶端也有信息輸入模塊、信息接收模塊和通信對象模塊。具體模塊如下圖:聊天系統(tǒng) 客戶端服務器信
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報參考:聚焦體育新課標小學體育課運動負荷主觀測評路徑與調(diào)控策略研究
- 課題申報參考:教師教學洞察力的表現(xiàn)特征、生成機制及發(fā)展路徑研究
- 包含維修條款的2025年度二手手機買賣合同范本3篇
- 二零二五版桉樹種植與星海生態(tài)教育合作項目合同3篇
- 二零二五年度出國留學學費支付及管理合同3篇
- 二零二五年度煤炭運輸合同范本:多式聯(lián)運與綜合物流服務協(xié)議4篇
- 二零二五版文化中心場地租賃協(xié)議書4篇
- 2025年度海洋工程聘用工程師及項目實施合同4篇
- 2025版充電樁安全風險評估與應急預案制定合同3篇
- 二零二五版智慧醫(yī)療路演投資合同范本4篇
- 2025年度版權(quán)授權(quán)協(xié)議:游戲角色形象設計與授權(quán)使用3篇
- 心肺復蘇課件2024
- 《城鎮(zhèn)燃氣領域重大隱患判定指導手冊》專題培訓
- 湖南財政經(jīng)濟學院專升本管理學真題
- 全國身份證前六位、區(qū)號、郵編-編碼大全
- 2024-2025學年福建省廈門市第一中學高一(上)適應性訓練物理試卷(10月)(含答案)
- 《零售學第二版教學》課件
- 廣東省珠海市香洲區(qū)2023-2024學年四年級下學期期末數(shù)學試卷
- 房地產(chǎn)行業(yè)職業(yè)生涯規(guī)劃
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- MOOC 數(shù)字電路與系統(tǒng)-大連理工大學 中國大學慕課答案
評論
0/150
提交評論