歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > DOC文檔下載  

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

  • 資源ID:29414886       資源大?。?span id="hcuj22o" class="font-tahoma">178.73KB        全文頁(yè)數(shù):15頁(yè)
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶(hù)名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

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

C語(yǔ)言課程設(shè)計(jì)課程設(shè)計(jì)報(bào)告題 目數(shù)據(jù)的加密與解密學(xué) 號(hào)*姓 名*年級(jí)專(zhuān)業(yè)2010級(jí)通信工程指導(dǎo)教師完成日期2011年6月17日安徽師范大學(xué)物理與電子信息學(xué)院College of Physics and Electronic Information, Anhui Normal University目錄目錄1課程設(shè)計(jì)任務(wù)書(shū)2摘要3關(guān)鍵詞3原理31. 系統(tǒng)功能分析41.1 設(shè)計(jì)目的41.2 功能描述42. C語(yǔ)言程序編寫(xiě)52.1程序結(jié)構(gòu)圖52.2程序流程圖52.3 具體程序源代碼83. C語(yǔ)言程序功能示例114. 設(shè)計(jì)總結(jié)125. 參考文獻(xiàn)13C語(yǔ)言程序課程設(shè)計(jì)任務(wù)書(shū)題 目數(shù)據(jù)的加密與解密設(shè)計(jì)目的將某一已知文件的內(nèi)容(僅限于英文字母)以字符形式讀出,根據(jù)密鑰(用戶(hù)從鍵盤(pán)輸入)將對(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)的書(shū)籍第三階段:開(kāi)始編冉C語(yǔ)言程序第四階段:完成了C訓(xùn)言程序的編寫(xiě),開(kāi)始撰寫(xiě)C語(yǔ)言菾程設(shè)計(jì)報(bào)告第五階段:完成了C語(yǔ)言課程設(shè)計(jì)報(bào)告的撰寫(xiě)教師審核簽名摘要 隨著現(xiàn)代化的發(fā)展,人們的數(shù)據(jù)需要更笀便、安全和可靠的加密管理模式。設(shè)計(jì)一個(gè)基于C語(yǔ)言的數(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語(yǔ)言程序設(shè)計(jì)的知識(shí),具有對(duì)英文文本加密和解密的功能,并在此基礎(chǔ)上可進(jìn)行對(duì)文件的操作。 關(guān)鍵詞 C語(yǔ)言;程序設(shè)計(jì);換位法換位位數(shù)數(shù)據(jù)加密與解密;原理輸入方向輸出方向canyoucomehereab換位法加密示意換位法加密的原理是將英文句子中的空格去除,然后將句子排成若干行,每行的字符數(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ì)已知文件(為英文字符)通過(guò)一定的算法將其轉(zhuǎn)換成非本身的其他英文字母以達(dá)到文件加密的目的。整個(gè)系統(tǒng)由以下幾大功能模塊組成。1.2.1主控選擇模塊此模塊是主程序操作界面,供用戶(hù)進(jìn)行選擇。用戶(hù)可選擇執(zhí)行加密或解密操作。1.2.2加密模塊加密模塊主要是完成對(duì)文件的加密操作。從外部文件中讀入任意一個(gè)文件并將它加密并顯示出來(lái)!1.2.3解密模塊解密模塊是完成對(duì)文件的解密工作,將密文轉(zhuǎn)換為可被識(shí)別的明文。從外部文件中讀入任意一個(gè)文件并將它解密并顯示出來(lái)!本綜合訓(xùn)練是計(jì)算機(jī)科學(xué)與技術(shù)、信息管理與信息系統(tǒng)、軟件工程專(zhuān)業(yè)重要的實(shí)踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完C語(yǔ)言程序設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)課程后進(jìn)行的一次全面的綜合練習(xí)。本課綜合訓(xùn)練的目的和任務(wù):1. 鞏固和加深學(xué)生對(duì)C語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)課程的基本知識(shí)的理解和掌握;2. 掌握C語(yǔ)言編程和程序調(diào)試的基本技能;3. 利用C語(yǔ)言進(jìn)行基本的軟件設(shè)計(jì);4. 掌握書(shū)寫(xiě)程序設(shè)計(jì)說(shuō)明文檔的能力;5. 提高運(yùn)用C語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)解決實(shí)際問(wèn)題的能力。 二、C語(yǔ)言源程序編寫(xiě):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<stdio.h>#include<string.h>#include<time.h>#define CODELEN 256 開(kāi)始 判斷字符串str中的空格和字符串結(jié)尾gets(str)char s1CODELENchar strCODELENchar xstrCODELENif(s10>=A&&s10<=Z)s10=s10+32去除空格,str變成s1函數(shù)調(diào)用if(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 len2=len;return NULL;len2=len;for(i=0;i<len;i+)for(j=0;j<key;j+)destn+=strj*len+i;for(j=0;j<key;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<stdio.h>#include<string.h>#include<time.h>#define CODELEN 256 char *encode(char *dest,char *s1,int key)int 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;i<len2;i+) s1i=(char)(rand() % 26)+(rand() % 1)*(A-a)+a); s1len2=0; for(j=0;j<key;j+) for(i=0;i<(len2/key);i+) destn+=s1i*key+j; destn=0; return dest; char *decode(char *dest,char *str,int key)int i,j,len,n=0;len=strlen(str);if(len % key)!=0) return NULL;len=(len / key);for(i=0;i<len;i+)for(j=0;j<key;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;t=strlen(str);for(i=0;i<t;i+)if(stri!= &&stri!=0)ch=stri;s1m=ch;m=m+1;ch=stri;s1m=ch;if(s10>=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("Please enter again a string:");gets(s2); if(a=key&&s20=s10)printf(“The ming wen is:”);puts(str);printf(“*”);printf(“*”);三、C語(yǔ)言程序功能示例:操作過(guò)程中的截圖:測(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: Nice 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é)通過(guò)這次課程設(shè)計(jì),我學(xué)到了許多東西,在完成設(shè)計(jì)的過(guò)程中也遇到了許多的問(wèn)題,通過(guò)不斷的查資料,和向老師同學(xué)的請(qǐng)教,使得大部分問(wèn)題得到了解決。并且解決問(wèn)題的過(guò)程中我也學(xué)到了很多東西。在設(shè)計(jì)過(guò)程中,主要遇到的問(wèn)題就是文件的操作問(wèn)題,以前學(xué)習(xí)的時(shí)候,對(duì)文件的操作掌握的不是很好,但在做課程設(shè)計(jì)時(shí)會(huì)常常用到,經(jīng)認(rèn)真看書(shū)后解決了這個(gè)問(wèn)題。還有就是對(duì)讀取文本文件中的內(nèi)容不停止(一直讀下去)的問(wèn)題。首先是密碼的存儲(chǔ)識(shí)別,后用fgetc(fp)!=EOF函數(shù)解決,使得讀函數(shù)不會(huì)無(wú)限讀下去,讀完后停止并還回文本內(nèi)容;其次是密碼太多時(shí)會(huì)出現(xiàn)亂碼的問(wèn)題,后用while()函數(shù)解決。雖然在課程設(shè)計(jì)過(guò)程中修改了很多次,但程序還是很不完美,有一些問(wèn)題未能解決。比如說(shuō)程序的界面不夠美觀,不夠人性化;在對(duì)密碼的處理上也不甚太好,可能存在安全隱患。我將在以后的時(shí)間里繼續(xù)努力,不斷充實(shí)自己。附軟件說(shuō)明:本程序采用宏定義方式定義字符串的大小,增加了程序的通用性,本程序基本實(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語(yǔ)言程序設(shè)計(jì)(第二版).高等教育出版社,20022 黃維通 C語(yǔ)言程序設(shè)計(jì) 清華大學(xué)出版社3 徐士良等. C語(yǔ)言常用算法程序集 清華大學(xué)出版社4. 馬靖善等. C語(yǔ)言程序設(shè)計(jì).清華大學(xué)出版社,20055. 張毅坤等. C語(yǔ)言程序設(shè)計(jì)教程M .西安交通大學(xué)出版社,2003物理與電子信息學(xué)院課程設(shè)計(jì)評(píng)定意見(jiàn)指導(dǎo)教師評(píng)語(yǔ)主要內(nèi)容包括:設(shè)計(jì)報(bào)告內(nèi)容的完整性和完成情況、報(bào)告格式的規(guī)范性、通過(guò)課程設(shè)計(jì)取得的收獲等。成績(jī): 簽名: 年 月 日注:本頁(yè)與上一頁(yè)用A3紙?zhí)子〕煞饷婧头獾?,課程設(shè)計(jì)報(bào)告正文用A4紙打印然后裝訂

注意事項(xiàng)

本文(《C語(yǔ)言課程設(shè)計(jì)》課程設(shè)計(jì)數(shù)據(jù)的加密與解密)為本站會(huì)員(仙***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

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


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