資源描述:
《程序基本思路.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='