程序基本思路.doc

程序基本思路.doc

ID:28574346

大小:80.00 KB

頁數(shù):12頁

時間:2018-12-11

程序基本思路.doc_第1頁
程序基本思路.doc_第2頁
程序基本思路.doc_第3頁
程序基本思路.doc_第4頁
程序基本思路.doc_第5頁
資源描述:

《程序基本思路.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。

1、程序基本思路:創(chuàng)建一個二進制文件,將密碼保存在第一行,接著輸入正文。在輸入密碼與正文的同時將文件內(nèi)容加密。讀取文件時要求輸入密碼,密碼正確方允許將文本讀出。程序的優(yōu)點:在對密碼進行讀取的時候,并沒有使用scanf函數(shù),而是利用C語言嵌入?yún)R編語言實現(xiàn)對機器低層的調(diào)用(int16和int21號調(diào)用),從而實現(xiàn)對輸入密碼的"*"化處理存在問題:(1)????加密函數(shù)過于簡單(線性映射),可以采取更復雜的函數(shù)將字符等可能地散列到各個樣本點處。(2)??文件創(chuàng)建時沒有支持ADT數(shù)據(jù)類型.(3)??輸入單個字符長度有限制.運行界面:圖一:輸入0退出,1創(chuàng)建一個文件,2打開一個文件.在F盤下創(chuàng)建一個名為t

2、taikk的文件,密碼設(shè)置為ttaikk圖二:輸入文本,以#字符結(jié)束。圖三:輸入密碼并打開一個存在的文件。/*Secure.c?Copyright(c)2002,2006byctu_85AllRightsReserved.*/#include"stdio.h"#include"string.h"#defineright5#definemaxpassword20#defineminpassword6#definemaxlen20voidCreate();voidLoad();charsecure(char);chardesecure(char);voidmain(){intchoice;pri

3、ntf("Pleaseenteryourchoice:");printf("0:Toquit;");printf("1:Tocreateasecurityfile;");printf("2:Toloadasecurityfile.");cir:printf("Yourchoice:");scanf("%d",&choice);if(choice==0)return;if(choice==1){Create();printf("");gotocir;}elseif(choice==2){Load();printf("");gotocir;}else{printf("In

4、validinput!");gotocir;}}voidCreate(){FILE*fp;char*p,ch,s[maxpassword],*t,temp,path[maxlen];recre:printf("Pleaseenterthepathwhereyouwannathefiletobe:");scanf("%s",path);p=path;if(*p<'C'

5、

6、*p>'F'

7、

8、*(p+1)!=':'

9、

10、*(p+2)!=92

11、

12、strlen(p)>30

13、

14、strlen(p)<4){printf("Invalidinput!");gotorecre;}if((fp=fopen(p

15、,"wb"))==NULL){printf("Error!");return;}printf("Pleaseenterthepassword:");an:p=s;lp:_asm{movah,00hint16hcmpal,0dhjeexitmovtemp,almovdl,'*'movah,02hint21h}*p=temp;p++;gotolp;exit:*p='