文件移位加密與解密_第1頁
文件移位加密與解密_第2頁
文件移位加密與解密_第3頁
文件移位加密與解密_第4頁
文件移位加密與解密_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、河南理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院課程設(shè)計(jì)報(bào)告2010 2011學(xué)年 第一學(xué)期課程名稱 設(shè)計(jì)題目 學(xué)生姓名 學(xué) 號(hào) 專業(yè)班級(jí) 指導(dǎo)教師 2011 年 01 月 08 日目錄l 封面01l 設(shè)計(jì)任務(wù)書03l 功能設(shè)計(jì)03l 結(jié)構(gòu)流程圖05l 程序?qū)崿F(xiàn)代碼05l 程序設(shè)計(jì)總結(jié)08l 個(gè)人總結(jié)12l 致謝13l 參考文獻(xiàn)13 課程設(shè)計(jì)任務(wù)書題 目文件移位加密與解密設(shè)計(jì)目的1)文件加密; 2)文件解密。 備注:將某一已知文件的內(nèi)容(僅限于英文字母)以字符形式讀出,根據(jù)密鑰(用戶從鍵盤輸入)將對應(yīng)字符進(jìn)行移位操作即可,解密時(shí)移動(dòng)相反。 例如:加密:設(shè)原文為abcdef,密鑰為5,則有abcdef每個(gè)字母按

2、字母表向后移動(dòng)5們(注:z后接a)可得到密文(亂碼)fghijkl;對該文件解密:文件內(nèi)容為fghijk1,密鑰為5,則有fghijk1每個(gè)字母向前移動(dòng)5位(注a后接z),可得到原文abcdef。 涉及知識(shí)點(diǎn)文件指針,文件的讀/寫,出錯(cuò)檢測,分支控制,循環(huán)控制,強(qiáng)制類型轉(zhuǎn)換,ASC|碼表,MS-DOS字符窗口下執(zhí)行程序。功能設(shè)計(jì)l 設(shè)計(jì)目的本課程設(shè)計(jì)的目的是為了保證個(gè)人數(shù)據(jù)資料不被他人非法竊取使用,保護(hù)個(gè)人的隱私及重要文件!l 功能描述本程序主要是對已知文件(為英文字符)通過一定的算法將其轉(zhuǎn)換成非本身的其他英文字母以達(dá)到文件加密的目的。整個(gè)系統(tǒng)由以下幾大功能模塊組成。1. 主控選擇模塊此模塊是

3、主程序操作界面,供用戶進(jìn)行選擇。用戶可選擇執(zhí)行加密或解密操作。2. 加密模塊加密模塊主要是完成對文件的加密操作。從外部文件中讀入任意一個(gè)文件并將它加密并顯示出來!3. 解密模塊解密模塊是完成對文件的解密工作,將密文轉(zhuǎn)換為可被識(shí)別的明文。從外部文件中讀入任意一個(gè)文件并將它解密并顯示出來!結(jié)構(gòu)流程圖 程序?qū)崿F(xiàn)代碼#include<iostream.h>#include<stdio.h>#include<stdlib.h>#define M 1000 /預(yù)設(shè)一個(gè)指定文件大小的數(shù)字M,方便以后改變void main()FILE *fp;char ch,TEXTM;

4、/ M 的數(shù)值可以根據(jù)文件的大小隨意改變int ch1,n,key;cout<<" 文件移位加密與解密 "<<endl; cout<<"請將加密(解密)文件復(fù)制至“文件移位加密與解密”文件夾中,且該文件為純文本格式。"<<endl;while(1) cout<<"請輸入文件名:"<<endl; /軟件使用幫助和支持cin>>TEXT;if(fp=fopen(TEXT,"r")=NULL) cout<<"open

5、 file fail"<<endl;exit(0);cout<<"請輸入密碼:"<<endl; cin>>key;key=key%26;cout<<"加密請輸入1,解密請輸入2:"<<endl; cin>>n; if(n=1) / n=1時(shí),執(zhí)行加密算法cout<<"加密結(jié)果:"while(ch=fgetc(fp)!=EOF) if(ch>='A'&& ch<='Z')

6、/ 加密文件內(nèi)容為A-Zch=ch+key;if(ch>'Z')ch=ch-26;if(ch>='a'&& ch<='z') /加密文件內(nèi)容為a-zch1=(int)ch+key;if(ch1>122)ch=(char)(ch1-26);else ch=(char)ch1;cout<<ch;cout<<endl;n=0;fclose(fp);else if(n=2) / n=2時(shí),執(zhí)行解密算法cout<<"解密結(jié)果:"while(ch=fgetc(fp

7、)!=EOF) if(ch>='A'&& ch<='Z') / 解密文件內(nèi)容為A-Zch=ch-key;if(ch<'A')ch=ch+26;if(ch>='a'&& ch<='z') /解密文件內(nèi)容為a-zch=ch-key;if(ch<'a')ch=ch+26; cout<<ch; cout<<endl;n=0;fclose(fp);cout<<endl;cout<<endl;co

8、ut<<endl;cout<<" -·-·-感謝您的使用,歡迎再次使用-·-·- "<<endl; 程序設(shè)計(jì)總結(jié)l 文件移位解密:1.運(yùn)行程序后,如圖示:2.輸入文件名(此程序附帶文件默認(rèn)為(un)code.txt),如圖示:3.輸入密碼,如圖示:4.選擇解密,如圖示:l 文件移位加密1.運(yùn)行程序后,如圖示:2. 輸入文件名(此程序附帶文件默認(rèn)為(un)code.txt),如圖示:3. 輸入密碼,如圖示:4.選擇加密,如圖示:個(gè)人總結(jié)正如早年瑞士聯(lián)邦技術(shù)學(xué)院沃思博士所提出的那個(gè)著名的公式:“程序=算法+數(shù)據(jù)結(jié)構(gòu)”,我在本次程序設(shè)計(jì)中深刻的體會(huì)到了算法的重要性。當(dāng)數(shù)次嘗試確定算法后,對算法的高級(jí)語言實(shí)現(xiàn)變得同等重要。在實(shí)際的編程過程中,那些語法錯(cuò)誤多次影響到編譯的通過,而這些錯(cuò)誤正是我在平常學(xué)習(xí)中忽略的,比如運(yùn)算符的優(yōu)先級(jí)等。通過此次程序設(shè)計(jì),我將課本上的理論知識(shí)與實(shí)際有機(jī)的結(jié)合起來,既加深了自己對C+知識(shí)的理解和掌握,也鍛煉了自己的分析解決實(shí)際問題的能力和創(chuàng)新意識(shí)。由于受到自己專業(yè)知識(shí)的限制,這次設(shè)計(jì)的程序有很多缺陷,比如界面不夠美觀,功能不夠完善等。在接下來的學(xué)習(xí)生活中,我應(yīng)該加強(qiáng)專業(yè)知識(shí)的學(xué)習(xí),力爭自己有個(gè)

溫馨提示

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

最新文檔

評論

0/150

提交評論