




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、案例七 加密演示系統(tǒng) 本案例知識要點 加密算法的實現(xiàn) 循環(huán)語句的使用 數(shù)組的使用 文件系統(tǒng)的使用第1頁/共19頁一、案例需求 案例描述 試編寫一個程序,要求對用戶在屏幕上輸入的用戶名和密碼實現(xiàn)加密及解密過程。 案例效果圖 加密演示系統(tǒng)案例效果如圖所示。第2頁/共19頁加密演示系統(tǒng)的運行效果 第3頁/共19頁 功能說明 程序開始運行后,程序給出提示。 用戶按照提示選擇不同的數(shù)字,計算機執(zhí)行相應的操作。 選擇“1”開始加密。系統(tǒng)提示用戶輸入需要加密的明文:用戶名和密碼。如果輸入正確,則提示加密成功。 選擇“2”后,會將存儲在“密文.txt”文件中的密文進行顯示。 選擇“3”后,會將存儲在“密文.t
2、xt”文件中的密文進行解密顯示。 選擇“4”將退出系統(tǒng)。第4頁/共19頁二、案例分析 本案例是對用戶輸入的用戶名和密碼分別進行加密以及對密文進行解密的一個演示程序,對數(shù)據(jù)進行加密和解密的主要任務是加密和解密算法的設計。 案例中,對輸入的用戶名進行加密采用的算法是:將用戶輸入的字符串中的每個字符都轉換為其下一個字符,特別對于字符“Z”或“z”轉換為“A”或“a”密文進行存儲。例如,用戶輸入一個字符串為“Zhanghan”,則轉換為字符串“Aibohibo”進行存儲。 對輸入的密碼進行加密所采用的算法是:設計一個二維數(shù)組,用戶輸入的兩位數(shù)值型的密碼分別作為二維數(shù)組的行號和列號,將二維數(shù)組中對應位置
3、上的元素作為密碼的密文進行存儲。二位數(shù)組的元素可以任意指定,本案例中設計的是以地名作為加密內容的一個1010的二維數(shù)組,該數(shù)組如下:第5頁/共19頁 a1010= 太原,北京,天津,重慶,廣州,香港,澳門,南寧,臺北,上海, 商丘,鄭州,新鄭,中牟,新鄉(xiāng),許昌,平頂山,信陽,開封,駐馬店, 石家莊,張家口,高碑店,秦皇島,唐山,廊坊,衡水,巨鹿,遵化,保定,運城,霍州,候馬,臨汾,武鄉(xiāng),長治,平遙,榆次,大同,朔州,景德鎮(zhèn),崇義,瑞金,贛州,井岡山,廣昌,德興,武寧,廬山,南昌,銅陵,太湖,馬鞍山,南陵,蚌埠,合肥,桐城,黃山,宿州,安慶,新豐,樂昌,隆化,汕頭,珠海,佛山,廣寧,雷州,東莞,
4、潮州, 武漢,武昌,襄樊,襄陽,鄂州,廣水,黃岡,咸寧,佳木斯,宜昌, 神農架,荊門,巴東,牡丹江,玉門,敦煌,秦安,平?jīng)?舟曲,碌曲, 瑪曲,武都,蘭州,哈爾濱,齊齊哈爾,公安,漠河,大慶,嫩江,雞西 ;第6頁/共19頁 例如,用戶在正確地輸入了用戶名后,在系統(tǒng)的提示下輸入的用戶密碼為“23”。系統(tǒng)將把該二維數(shù)組中的第2行第3列位置上的元素“秦皇島”作為密文。需要注意的是,數(shù)組是從第0行第0列開始。 對數(shù)據(jù)進行解密就是加密的逆過程。先從文件得到用戶名密文,再將該字符串中的每個字符都轉換為前一個字符得到明文。而對讀入的用戶密碼的密文進行解密時,是根據(jù)密文的內容查找二位數(shù)組中的元素,找到后返回其行號、列號即可得到明文。 注意,為了實現(xiàn)加密和解密的唯一性,所建立的二維數(shù)組中的所有元素都不能重復。 在案例中,將加密后的密文存儲在當前目錄下的“密文.txt”文件中,讀者可以打開察看,如圖所示。第7頁/共19頁加密存儲到文件后的結果 第8頁/共19頁三、案例設計 函數(shù)的設計 加密函數(shù)encrypt () 函數(shù)cryptograph () 函數(shù)decode()第9頁/共19頁 主程序設計 主程序流程如圖所示。第10頁/共19頁第11頁/共19頁第12頁/共19頁第13頁
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論