




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄一、 設(shè)計(jì)簡(jiǎn)介課程設(shè)計(jì)題目課程設(shè)計(jì)小組成員二、 設(shè)計(jì)目的三、 設(shè)計(jì)意義四、 設(shè)計(jì)要求五、 設(shè)計(jì)內(nèi)容六、 程序流程圖七、 程序源代碼八、 程序運(yùn)行結(jié)果分析九、 系統(tǒng)調(diào)用十、 心得體會(huì)參考文獻(xiàn)一、設(shè)計(jì)簡(jiǎn)介:設(shè)計(jì)課題:文件加密存儲(chǔ)二、設(shè)計(jì)目的:有時(shí)我們有些資料不希望別人看到,最常用的方法就是加密。對(duì)給定的相關(guān)文件進(jìn)行加密可以對(duì)文件進(jìn)行保護(hù),可以防止某些重要信息不被別人所知道甚至竊取。對(duì)文件起到保護(hù)作用,可以方便用戶使用某些只有自己能知道的信息,能夠安全保護(hù)文件的相關(guān)內(nèi)容幾信息不被外流。隨著信息社會(huì)的到來(lái),人們?cè)谙硎苄畔①Y源所帶來(lái)的巨大的利益的同時(shí),也面臨著信息安全的嚴(yán)峻考驗(yàn)。信息安全已經(jīng)成為世界
2、性的現(xiàn)實(shí)問(wèn)題,信息安全問(wèn)題已威脅到國(guó)家的政治、經(jīng)濟(jì)、軍事、文化、意識(shí)形態(tài)等領(lǐng)域,同時(shí),信息安全問(wèn)題也是人們能否保護(hù)自己的個(gè)人隱私的關(guān)鍵。信息安全是社會(huì)穩(wěn)定安全的必要前提條件。三、設(shè)計(jì)意義:至今,密碼技術(shù)是取得信息安全性最有效的一種方法, 密碼技術(shù)是信息安全的核心技術(shù)。通過(guò)數(shù)據(jù)加密,人們可以有效地保證通信線路上的內(nèi)容不被泄露,而且還可以檢驗(yàn)傳送信息的完整性。進(jìn)一步,密碼技術(shù)可以應(yīng)用于數(shù)字簽名、身份認(rèn)證和信息鑒定,這些應(yīng)用對(duì)于資源存取控制以及其它安全措施是必須而且有效的。相對(duì)于防病毒軟件和防火墻軟件來(lái)說(shuō),基于密碼技術(shù)密碼類產(chǎn)品、認(rèn)證類產(chǎn)品份額相對(duì)較小,但隨著金融、電信、政府等行業(yè)信息化建設(shè)對(duì)于網(wǎng)絡(luò)
3、安全整體解決方案需求的增加,將會(huì)有較大的增長(zhǎng)。四、設(shè)計(jì)要求:利用文件系統(tǒng)的系統(tǒng)調(diào)用編程對(duì)文件的內(nèi)容進(jìn)行加、解密。要求程序從環(huán)境的命令行攜帶4個(gè)參數(shù)。第一是文件名,第二個(gè)是操作方式,第三個(gè)是密鑰,第四個(gè)是加密鑰循環(huán)使用長(zhǎng)度。其中后兩個(gè)參數(shù)是可以忽略,但對(duì)忽略的情況要提供缺省值。要求最后實(shí)現(xiàn)對(duì)文件的加密轉(zhuǎn)儲(chǔ),或通過(guò)改道的辦法進(jìn)行轉(zhuǎn)儲(chǔ)。對(duì)于已加密的文件可以進(jìn)行解密顯示或解密后轉(zhuǎn)儲(chǔ)。建議加密過(guò)程使用按字符進(jìn)行異或的方式處理,你也可提供自己的加密方式。五、設(shè)計(jì)內(nèi)容:加密技術(shù)是依靠加密算法對(duì)原始文檔進(jìn)行編碼形成密文從而達(dá)到加密目的。加密算法就是通過(guò)一組密鑰對(duì)原始信息(明文)進(jìn)行一系列的數(shù)學(xué)運(yùn)算得到另外一組
4、信息(密文),這就是加密過(guò)程。采用同樣的算法和同樣的密鑰,可以從密文算回原始信息(明文),這就是解密過(guò)程。本設(shè)計(jì)采用按字符異或的加密算法對(duì)文檔進(jìn)行加密形成密文,而后,用同樣的算法配合密鑰和密鑰循環(huán)長(zhǎng)度可以對(duì)密文進(jìn)行解密。程序從命令行攜帶文件名(in)、操作方式(op)、密鑰(pwd)、加密鑰循環(huán)使用長(zhǎng)度(length)四個(gè)參數(shù),其中pwd和length可以忽略,程序?yàn)楹雎缘那闆r提供了缺省值。若命令行帶入的參數(shù)少于兩個(gè),即沒(méi)有參數(shù)或只有第一個(gè)參數(shù),程序提供了輸入塊對(duì)四個(gè)參數(shù)進(jìn)行輸入。六、程序流程圖:開(kāi)始程序輸入命令行參數(shù)argc3從鍵盤(pán)錄入各個(gè)參數(shù)真假argc=3strcpy(in,argv1)
5、; strcpy(op,argv2); strcpy(pwd,00000000); length=8;真真假假argc=4strcpy(in,argv1); strcpy(op,argv2); strcpy(pwd,argv3); length=(int)argv4-48;strcpy(in,argv1); strcpy(op,argv2); strcpy(pwd,argv3); length=8;假strcmp(jiami,op)=0真假strcmp(jiemi,op)=0真jiami(in,pwd,length);input error!jiemi(in,pwd,length);結(jié)束七、程
6、序源代碼:#include#include#includevoid jiami(char *in,char *pwd,int length);/*函數(shù)聲明*/void jiemi(char *in,char *pwd,int length);/*函數(shù)聲明*/int main(int argc,char *argv) char in30;/*需要加密或解密的文件名*/ int length;/*加密鑰循環(huán)使用長(zhǎng)度*/ char pwd8;/*加密鑰*/ char op10;/*操作方式*/if(argc=length?j=0:j+,fp2);/*按字符異或加密*/ ch=fgetc(fp1);
7、fclose(fp1); fclose(fp2);void jiemi(char *in,char *pwd,int length) /*解密*/ file *fp1,*fp2; register char ch;/*寄存器變量ch */ int j=0; fp1=fopen(in,rb);/*為輸入打開(kāi)一個(gè)二進(jìn)制文件*/ if(fp1=null) printf(cannot open in-file!n); exit(1); fp2=fopen(crack_file.txt,wb);/*為讀寫(xiě)建立一個(gè)新的二進(jìn)制文件*/ if(fp2=null) printf(cannot open or c
8、reate output-file!n); exit(1); ch=fgetc(fp1); while(!feof(fp1) fputc(chpwdj=length?j=0:j+,fp2);/*按加密方法進(jìn)行解密*/ ch=fgetc(fp1); fclose(fp1); fclose(fp2);八、程序運(yùn)行結(jié)果分析:cc jiami.c編譯程序,1、用./a.out(不帶參數(shù)或參數(shù)個(gè)數(shù)小于兩個(gè))運(yùn)行程序,程序提示需要輸入文件名和操作方式,按提示進(jìn)行參數(shù)輸入,程序運(yùn)行,按操作要求對(duì)目標(biāo)文件進(jìn)行加密解密操作,若文件不存在或打開(kāi)失敗,則操作失敗,給出cannot open in-file! 提示,
9、程序結(jié)束;2、用./a.out 文件名 操作方式(帶兩個(gè)參數(shù)) 運(yùn)行程序,忽略后兩個(gè)參數(shù),程序?yàn)楹髢蓚€(gè)參數(shù)提供缺省值,密鑰為“00000000”,循環(huán)長(zhǎng)度為8;3、用./a.out 文件名 操作方式 密鑰(帶三個(gè)參數(shù))運(yùn)行程序,則程序?yàn)樽詈笠粋€(gè)參數(shù)密鑰循環(huán)使用長(zhǎng)度設(shè)置缺省值8;4、用./a.out 文件名 操作方式 密鑰 加密鑰循環(huán)使用長(zhǎng)度(帶四個(gè)參數(shù)),程序按用戶所提供的參數(shù)值運(yùn)行;不管用哪種方式運(yùn)行程序,若給出的文件不存在或打開(kāi)失敗,則操作(加密或解密)失敗; 加密或解密時(shí),若密文文件encryption_file或解密后的文檔crack_file.txt已存在,則程序會(huì)刪除原有文件用新文
10、件替換; 加密過(guò)程采用按字符異或的方式處理。程序改進(jìn)方案:1、本程序采用的按字符異或加密的算法是一種比較簡(jiǎn)單的加密算法,安全性較差,若對(duì)文件保密性要求比較高,則可采用一些復(fù)雜的算法進(jìn)行加密。2、本程序入口只能輸入要加密或解密的目標(biāo)文件名,而對(duì)加密或解密后的文件不能自定義,只能用程序提供的encryption_file和crack_file.txt存放文件,這樣,當(dāng)對(duì)同一目錄下多個(gè)文檔加密時(shí),加密解密操作后的文件會(huì)替換原來(lái)的文件,造成數(shù)據(jù)丟失;九、系統(tǒng)調(diào)用:int main(int argc,char *argv)argc 是外部命令參數(shù)的個(gè)數(shù),argv 存放各參數(shù)的內(nèi)容.在運(yùn)行程序以后,操作系
11、統(tǒng)會(huì)自動(dòng)將參數(shù)傳給你。例如編譯好的程序叫做program.exe 你運(yùn)行program a b 這個(gè)時(shí)候,argc = 3 argv0 = program argv1 = a argv2 = bfopen ( string filename, string mode)fopen函數(shù)用來(lái)打開(kāi)一個(gè)文件,其調(diào)用的一般形式為:文件指針名=fopen(文件名,使用文件方式); 其中,“文件指針名”必須是被說(shuō)明為file 類型的指針變量; “文件名”是被打開(kāi)文件的文件名;“使用文件方式”是指文件的類型和操作要求?!拔募笔亲址A炕蜃址?dāng)?shù)組。文件使用方式意義:“rt” 只讀打開(kāi)一個(gè)文本文件,只允許讀
12、數(shù)據(jù) “wt” 只寫(xiě)打開(kāi)或建立一個(gè)文本文件,只允許寫(xiě)數(shù)據(jù) “at” 追加打開(kāi)一個(gè)文本文件,并在文件末尾寫(xiě)數(shù)據(jù) “rb” 只讀打開(kāi)一個(gè)二進(jìn)制文件,只允許讀數(shù)據(jù) “wb” 只寫(xiě)打開(kāi)或建立一個(gè)二進(jìn)制文件,只允許寫(xiě)數(shù)據(jù)“ab” 追加打開(kāi)一個(gè)二進(jìn)制文件,并在文件末尾寫(xiě)數(shù)據(jù) “rt+” 讀寫(xiě)打開(kāi)一個(gè)文本文件,允許讀和寫(xiě) “wt+” 讀寫(xiě)打開(kāi)或建立一個(gè)文本文件,允許讀寫(xiě) “at+” 讀寫(xiě)打開(kāi)一個(gè)文本文件,允許讀,或在文件末追加數(shù)據(jù)“rb+” 讀寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件,允許讀和寫(xiě)“wb+” 讀寫(xiě)打開(kāi)或建立一個(gè)二進(jìn)制文件,允許讀和寫(xiě)“ab+” 讀寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件,允許讀,或在文件末追加數(shù)據(jù)fputc(char
13、 ch,file *fp);作用: 把一個(gè)字符寫(xiě)到磁盤(pán)文件上去,即將字符ch輸出到fp所指向的文件中去。返回值: 成功:返回值就是輸出的字符; 失?。悍祷豦of(-1)。fgetc(file *fp);作用:從指定的文件讀入一個(gè)字符,即從fp所指向的文件中讀入一個(gè)字符。返回值: 成功:返回值所得到的字符; 失?。悍祷豦of(-1)。feof(file *fp)作用:檢查文件是否結(jié)束。返回值: 遇文件結(jié)束符返回非零值,否則返回0心得體會(huì)作為計(jì)算機(jī)類本科生教學(xué)的主要基礎(chǔ)課之一,課程緊密結(jié)合計(jì)算機(jī)課程類的專業(yè)特點(diǎn),系統(tǒng)介紹操作系統(tǒng)的基本知識(shí),基本組成,體系結(jié)構(gòu)和工作模式,從而使學(xué)生能較清楚地了解操作
14、系統(tǒng)的知識(shí),建立起系統(tǒng)的概念。 這次操作系統(tǒng)課程設(shè)計(jì)用時(shí)一個(gè)星期,在整整一星期的日子里,可以說(shuō)得是大家積極努力準(zhǔn)備,同時(shí)可以學(xué)到很多很多的的東西,不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。以前,在寫(xiě)一個(gè)程序的時(shí)候,我總是不細(xì)心,怕很浪費(fèi)時(shí)間。但是,這次課程設(shè)計(jì)完全改變了我以前的那種錯(cuò)誤的認(rèn)識(shí),以前我接觸的那些程序都是很短、很基礎(chǔ)的,但是在課程設(shè)計(jì)中碰到的那些需要很多代碼才能完成的任務(wù),在做設(shè)計(jì)的過(guò)程中,我們每一步要做什么,每一步要完成什么任務(wù)都有一個(gè)很清楚的思路,其次,以前對(duì)于編程工具的使用還處于一知半解的狀態(tài)上,但是經(jīng)過(guò)一段上機(jī)的實(shí)踐,對(duì)于怎么去排錯(cuò)、查錯(cuò),怎么去看每一步的運(yùn)行結(jié)果,確保程序的正確性上都有了很大程度的提高。 通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村合資合作建房合同范本
- 不標(biāo)準(zhǔn)水電施工合同范本
- 內(nèi)江小區(qū)保安合同范本
- 東亮駕照合同范本
- 兩方協(xié)議合同范本
- 買(mǎi)房假合同范例
- 農(nóng)村秸稈銷售合同范本
- 合同范本押金退還
- 化工重苯銷售合同范例
- 卡車(chē)購(gòu)車(chē)合同范本
- 體重管理健康科普教育
- 營(yíng)地布景規(guī)劃方案
- 大學(xué)數(shù)學(xué)《概率論與數(shù)理統(tǒng)計(jì)》說(shuō)課稿
- 北京市企業(yè)考勤管理制度
- 深大基坑設(shè)計(jì)施工關(guān)鍵技術(shù)孫加齊
- 《神經(jīng)外科常見(jiàn)疾病》課件
- DL-T5707-2014電力工程電纜防火封堵施工工藝導(dǎo)則
- 人教版五年級(jí)數(shù)學(xué)下冊(cè)第二單元練習(xí)題
- 酒店傳染病防控緊急預(yù)案
- 職業(yè)素養(yǎng)提升第2版(大學(xué)生職業(yè)素養(yǎng)指導(dǎo)課程)全套教學(xué)課件
- 西師版小學(xué)數(shù)學(xué)六年級(jí)下冊(cè)單元測(cè)試卷(含答案)
評(píng)論
0/150
提交評(píng)論