九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

《C語言課程設(shè)計(jì)》課程設(shè)計(jì)數(shù)據(jù)的加密與解密

上傳人:仙*** 文檔編號(hào):26933715 上傳時(shí)間:2021-08-14 格式:DOC 頁數(shù):15 大?。?86.01KB
收藏 版權(quán)申訴 舉報(bào) 下載
《C語言課程設(shè)計(jì)》課程設(shè)計(jì)數(shù)據(jù)的加密與解密_第1頁
第1頁 / 共15頁
《C語言課程設(shè)計(jì)》課程設(shè)計(jì)數(shù)據(jù)的加密與解密_第2頁
第2頁 / 共15頁
《C語言課程設(shè)計(jì)》課程設(shè)計(jì)數(shù)據(jù)的加密與解密_第3頁
第3頁 / 共15頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《C語言課程設(shè)計(jì)》課程設(shè)計(jì)數(shù)據(jù)的加密與解密》由會(huì)員分享,可在線閱讀,更多相關(guān)《《C語言課程設(shè)計(jì)》課程設(shè)計(jì)數(shù)據(jù)的加密與解密(15頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、C語言課程設(shè)計(jì)課程設(shè)計(jì)報(bào)告題 目數(shù)據(jù)的加密與解密學(xué) 號(hào)*姓 名*年級(jí)專業(yè)2010級(jí)通信工程指導(dǎo)教師完成日期2011年6月17日安徽師范大學(xué)物理與電子信息學(xué)院College of Physics and Electronic Information, Anhui Normal University目錄目錄1課程設(shè)計(jì)任務(wù)書2摘要3關(guān)鍵詞3原理31. 系統(tǒng)功能分析41.1 設(shè)計(jì)目的41.2 功能描述42. C語言程序編寫52.1程序結(jié)構(gòu)圖52.2程序流程圖52.3 具體程序源代碼83. C語言程序功能示例114. 設(shè)計(jì)總結(jié)125. 參考文獻(xiàn)13C語言程序課程設(shè)計(jì)任務(wù)書題 目數(shù)據(jù)的加密與解密設(shè)計(jì)目的將

2、某一已知文件的內(nèi)容(僅限于英文字母)以字符形式讀出,根據(jù)密鑰(用戶從鍵盤輸入)將對(duì)應(yīng)字符進(jìn)行移位操作即可,解密時(shí)移動(dòng)相反。例如:加密:設(shè)原文為abcdef,密鑰為5,則有abcdef每個(gè)字母按字母表向后移動(dòng)5位(注:z后接a)可得到密文(亂碼)fghijkl;對(duì)該文件解密:文件內(nèi)容為fghijk1,密鑰為5,則有fghijk1每個(gè)字母向前移動(dòng)5位(注a后接z),可得到原文abcdef。設(shè)計(jì)進(jìn)度安排第一階段:選擇課程設(shè)計(jì)的題目第二階段:搜尋有關(guān)課程設(shè)計(jì)的資料,查閱相關(guān)的書籍第三階段:開始編冉C語言程序第四階段:完成了C訓(xùn)言程序的編寫,開始撰寫C語言菾程設(shè)計(jì)報(bào)告第五階段:完成了C語言課程設(shè)計(jì)報(bào)告的

3、撰寫教師審核簽名摘要 隨著現(xiàn)代化的發(fā)展,人們的數(shù)據(jù)需要更笀便、安全和可靠的加密管理模式。設(shè)計(jì)一個(gè)基于C語言的數(shù)據(jù)加密及解密軟件,可以方便對(duì)數(shù)據(jù)的加密與解密。本設(shè)計(jì)實(shí)現(xiàn)了數(shù)據(jù)的加密及密,運(yùn)行軟件之后只需輸入英文句子倎,再輸入換位位數(shù)(密鑰),即可輸出密文,也即對(duì)該數(shù)據(jù)進(jìn)行加密;輸入密文后再輸入換位位數(shù)則可輸出明文,即解密操作。朄設(shè)計(jì)的加密解密系統(tǒng),運(yùn)用了C語言程序設(shè)計(jì)的知識(shí),具有對(duì)英文文本加密和解密的功能,并在此基礎(chǔ)上可進(jìn)行對(duì)文件的操作。 關(guān)鍵詞 C語言;程序設(shè)計(jì);換位法換位位數(shù)數(shù)據(jù)加密與解密;原理輸入方向輸出方向canyoucomehereab換位法加密示意換位法加密的原理是將英文句子中的空格

4、去除,然后將句子排成若干行,每行的字符數(shù)為換位位數(shù),再按列輸出即為密文,不足部分填入隨機(jī)字母。例如英文Can you come here若換位位數(shù)取4,則密文為comraueenchayoeb,如右圖所示。一、系統(tǒng)功能分析1.1設(shè)計(jì)目的 本課程設(shè)計(jì)的目的是為了保證個(gè)人數(shù)據(jù)資料不被他人非法竊取使用,保護(hù)個(gè)人的隱私及重要文件!1.2功能描述本程序主要是對(duì)已知文件(為英文字符)通過一定的算法將其轉(zhuǎn)換成非本身的其他英文字母以達(dá)到文件加密的目的。整個(gè)系統(tǒng)由以下幾大功能模塊組成。1.2.1主控選擇模塊此模塊是主程序操作界面,供用戶進(jìn)行選擇。用戶可選擇執(zhí)行加密或解密操作。1.2.2加密模塊加密模塊主要是完成

5、對(duì)文件的加密操作。從外部文件中讀入任意一個(gè)文件并將它加密并顯示出來!1.2.3解密模塊解密模塊是完成對(duì)文件的解密工作,將密文轉(zhuǎn)換為可被識(shí)別的明文。從外部文件中讀入任意一個(gè)文件并將它解密并顯示出來!本綜合訓(xùn)練是計(jì)算機(jī)科學(xué)與技術(shù)、信息管理與信息系統(tǒng)、軟件工程專業(yè)重要的實(shí)踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完C語言程序設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)課程后進(jìn)行的一次全面的綜合練習(xí)。本課綜合訓(xùn)練的目的和任務(wù):1. 鞏固和加深學(xué)生對(duì)C語言、數(shù)據(jù)結(jié)構(gòu)課程的基本知識(shí)的理解和掌握;2. 掌握C語言編程和程序調(diào)試的基本技能;3. 利用C語言進(jìn)行基本的軟件設(shè)計(jì);4. 掌握書寫程序設(shè)計(jì)說明文檔的能力;5. 提高運(yùn)用C語言、數(shù)據(jù)結(jié)構(gòu)解決實(shí)際問題

6、的能力。 二、C語言源程序編寫:2.1程序結(jié)構(gòu)圖: 主 函 數(shù)返回調(diào)用char *encode (char *dest,char *s1,int key)char *decode(char *dest,char *str,int key)2.2程序流程圖int main()#include#include#include#define CODELEN 256 開始 判斷字符串str中的空格和字符串結(jié)尾gets(str)char s1CODELENchar strCODELENchar xstrCODELENif(s10=A&s10=Z)s10=s10+32去除空格,str變成s1函數(shù)調(diào)用if(

7、decode(s1,xstr,key)!=NULL)scanf(%d,&key);即加密字節(jié)數(shù)函數(shù)調(diào)用encode(xstr,s1,key);函數(shù)定義char*decode(char *dest,char *str,int key)函數(shù)定義char*encode(char *dest,char *s1,int key)int i,j,len,n=0;len=strlen(str);int i,j,len,len2,n=0;計(jì)算字符串s1的長(zhǎng)度len=strlen(s1);if(len% key)!=0if(len % key)!=0) len2=len+key-(len % key);else

8、 len2=len;return NULL;len2=len;for(i=0;ilen;i+)for(j=0;jkey;j+)destn+=strj*len+i;for(j=0;jkey;j+)for(i=0;i(len2/key);i+)destn+=s1i*key+j;種子srand(time(NULL)返回destreturn destdestn=0;return dest 顯示 結(jié)果 結(jié)束2.3、具體程序源代碼如下:#include#include#include#define CODELEN 256 char *encode(char *dest,char *s1,int key)i

9、nt i,j,len,len2,n=0;len=strlen(s1); if(len % key)!=0) len2=len+key-(len % key);else len2=len;(timesrand(NULL); for(i=len;ilen2;i+) s1i=(char)(rand() % 26)+(rand() % 1)*(A-a)+a); s1len2=0; for(j=0;jkey;j+) for(i=0;i(len2/key);i+) destn+=s1i*key+j; destn=0; return dest; char *decode(char *dest,char *s

10、tr,int key)int i,j,len,n=0;len=strlen(str);if(len % key)!=0) return NULL;len=(len / key);for(i=0;ilen;i+)for(j=0;jkey;j+) destn+=strj*len+i; destn=0; return dest; int main()int key,i,j,len;char s1CODELEN;char strCODELEN;char xstrCODELEN;printf(Please enter a string:);gets(str); int m=0,i=0,t;char ch

11、;t=strlen(str);for(i=0;i=A&s10=Z)s10=s10+32; puts(s1); printf(Please enter a digit:); scanf(%d,&key); encode(xstr,s1,key);printf(“The mi wen is:”); printf(%sn,xstr); if(decode(s1,xstr,key)!=NULL); elseprintf(NULL);int a;char s2CODELEN;printf(Please enter again a digit:);scanf(%d,&a);getchar();printf

12、(Please enter again a string:);gets(s2); if(a=key&s20=s10)printf(“The ming wen is:”);puts(str);printf(“*”);printf(“*”);三、C語言程序功能示例:操作過程中的截圖:測(cè)試數(shù)據(jù): Please enter a string:Nice to meet you Please enter a digit:4; The mi wen is:nteuiotacmyfeeok Please enter again a digit:4 Please enter again a string: Ni

13、ce to meet you * Please enter a string:Well down boby Please enter a digit:4; The mi wen is:wdbeoolwblny Please enter again a digit:4 Please enter again a string: Well down boby *四、設(shè)計(jì)總結(jié)通過這次課程設(shè)計(jì),我學(xué)到了許多東西,在完成設(shè)計(jì)的過程中也遇到了許多的問題,通過不斷的查資料,和向老師同學(xué)的請(qǐng)教,使得大部分問題得到了解決。并且解決問題的過程中我也學(xué)到了很多東西。在設(shè)計(jì)過程中,主要遇到的問題就是文件的操作問題,以前

14、學(xué)習(xí)的時(shí)候,對(duì)文件的操作掌握的不是很好,但在做課程設(shè)計(jì)時(shí)會(huì)常常用到,經(jīng)認(rèn)真看書后解決了這個(gè)問題。還有就是對(duì)讀取文本文件中的內(nèi)容不停止(一直讀下去)的問題。首先是密碼的存儲(chǔ)識(shí)別,后用fgetc(fp)!=EOF函數(shù)解決,使得讀函數(shù)不會(huì)無限讀下去,讀完后停止并還回文本內(nèi)容;其次是密碼太多時(shí)會(huì)出現(xiàn)亂碼的問題,后用while()函數(shù)解決。雖然在課程設(shè)計(jì)過程中修改了很多次,但程序還是很不完美,有一些問題未能解決。比如說程序的界面不夠美觀,不夠人性化;在對(duì)密碼的處理上也不甚太好,可能存在安全隱患。我將在以后的時(shí)間里繼續(xù)努力,不斷充實(shí)自己。附軟件說明:本程序采用宏定義方式定義字符串的大小,增加了程序的通用性

15、,本程序基本實(shí)現(xiàn)了要求的內(nèi)容:1.采用換位法進(jìn)行加密和解密;2.輸入英文句子后,再輸入換位位數(shù)(密鑰),即可輸出密文;3.輸入密文后再輸入換位位數(shù)則可輸出明文;數(shù)據(jù)的加密與解密的使用方法: 1.加密使用方法: 首先輸入一個(gè)加密字符串(即明文),然后再輸入加密字?jǐn)?shù)(即密鑰),即可顯示結(jié)果(密文)。 2.解密使用方法: 首先輸入解密字節(jié)數(shù)(密鑰),然后再輸入密文,即可顯示結(jié)果(即明文)。五、參考文獻(xiàn)1. 譚浩強(qiáng) C語言程序設(shè)計(jì)(第二版).高等教育出版社,20022 黃維通 C語言程序設(shè)計(jì) 清華大學(xué)出版社3 徐士良等. C語言常用算法程序集 清華大學(xué)出版社4. 馬靖善等. C語言程序設(shè)計(jì).清華大學(xué)出版社,20055. 張毅坤等. C語言程序設(shè)計(jì)教程M .西安交通大學(xué)出版社,2003物理與電子信息學(xué)院課程設(shè)計(jì)評(píng)定意見指導(dǎo)教師評(píng)語主要內(nèi)容包括:設(shè)計(jì)報(bào)告內(nèi)容的完整性和完成情況、報(bào)告格式的規(guī)范性、通過課程設(shè)計(jì)取得的收獲等。成績(jī): 簽名: 年 月 日注:本頁與上一頁用A3紙?zhí)子〕煞饷婧头獾?,課程設(shè)計(jì)報(bào)告正文用A4紙打印然后裝訂14

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!