課程設計,檔案加密

2021-09-22 20:43:44 字數 4419 閱讀 6326

小提示,密碼檔案需要自己先建立乙個txt檔案自己輸入6個字元密碼,路徑與**的執行路徑在一起。。。

/*題目:檔案加密

檔案的傳輸會有明文和密文的區別,明文傳送時不安全的,用乙個程式實現傳送檔案的加密和解密操作。

加密演算法,金鑰設計由同學自己選擇現有的加密解密演算法或是自己設計的。

要求:(1)對檔案的字元根據加密演算法,實現檔案加密。

(2)對操作給出必要的提示。

(3)對存在的file1.txt檔案,必須先開啟,後讀寫,最後關閉。加密後的檔案放在file2.txt。

(4)解密檔案儲存在file3.txt中。

*/#include // 標準輸入輸出函式

#include // 標準庫函式

#include // 字串處理函式

#include //控制台輸入輸出函式

char password[6];//軟體初始密碼

int jiami();

int check(int type);

int jiemi();

int xianshi();

int zhucaidan();

int fuzhi();

int fanhui();

int gaimima();

int jieshu();

char infile[20];

char outfile[21];

int main()

// 密碼校驗成功,顯示程式選單,執行各種操作

zhucaidan();

return0;}

int jiami()

printf("\n請輸入加密後的檔名(含路徑):");

scanf("%s",outfile);

out=fopen(outfile,"wb");//只寫檔案

if(out==null)

ch=fgetc(in);//讀入乙個字元

while(ch!=eof)//讀入字元直到字元結束

int n;

n=i;

putchar(10);//空行

printf("原檔案內容如下:\n");

printf("%s\n",yuanzifu);

//printf("n=%d",n);

for(i=0;iint s=1;

int m=3000;

gaiguodezifu[i]=yuanzifu[i]+s*s-m;//進行字元加密處理

s++;

m--;

if(s>5000)

}//printf("%s",gaiguodezifu);

for(i=0;i// putchar(ch);

}putchar(10);

printf("加密後的檔案內容如下:\n");

printf("%s",gaiguodezifu);

putchar(10);

printf("\n按下任意字元後繼續:");

system("pause");//輸入任意字元後進行下一步,也就是讓輸出停留

fclose(in);

fclose(out);

system("cls"); // 清屏

printf("\n\n恭喜你,檔案[%s]加密成功,儲存在[%s]。\n", infile, outfile);

printf("\n\n輸入任意字元進行選擇下一操作");

system("pause");

return fanhui();

}int jiemi()

printf("\n請輸入解密後的檔名(含路徑):");

scanf("%s",outfile);

out=fopen(outfile,"wb");//只寫檔案

if(out==null)

ch=fgetc(in);//讀入乙個字元

while(ch!=eof)//讀入字元直到字元結束

int n;

n=i;

putchar(10);//空行

printf("加密檔案內容如下:\n");

printf("%s\n",yuanzifu);

//printf("n=%d",n);

for(i=0;iint s=1;

int m=3000;

gaiguodezifu[i]=yuanzifu[i]-s*s+m;//進行字元解密處理

s++;

m--;

if(s>5000)

}//printf("%s",gaiguodezifu);

for(i=0;i// putchar(ch);

}putchar(10);

printf("解密後的檔案內容如下:\n");

printf("%s",gaiguodezifu);

putchar(10);

printf("\n按下任意字元後繼續...");

system("pause");//輸入任意字元後進行下一步,也就是讓輸出停留

fclose(in);

fclose(out);

system("cls"); // 清屏

printf("\n\n恭喜你,檔案[%s]解密成功,儲存在[%s]。\n", infile, outfile);

printf("\n\n輸入任意字元進行選擇下一操作...");

system("pause");

return fanhui();

}int xianshi()

while(ch2!=eof)

printf("\n\n按下任意鍵進入下一選項...");

system("pause");

return fanhui();

}int check(int a)

for(i=0;i<6;i++)

for(i=0;i<6;i++)

password[i]=ch3[i];

// printf("%s",password);

char pwd[6]; //使用者輸入的密碼

int trytimes; // 使用者嘗試輸入密碼的次數

printf("\n程式設定了密碼,驗證通過後才能使用。請輸入6位數字密碼:");

for(trytimes=1; trytimes<=3; trytimes++)

else

if(trytimes==3)

else

}return0;}

int zhucaidan()

return

0; }

}//bug1:在主選單輸入多個字母會自動跳到加密檔案選單;

int fuzhi()

printf("\n請輸入加密後的檔名(含路徑):");

scanf("%s",outfile);

out1=fopen(outfile,"wb");//只寫檔案

if(out1==null)

while(!feof(in1))//如果沒有遇到輸入檔案的結束標誌

//feof(in)是檢查in指向的檔案是否結束

putchar(10);

fclose(in1);

fclose(out1);

return fanhui();

}int fanhui()

}}int gaimima()

getchar();

printf("\n請輸入6個新密碼字元或數字:");

for(i=0;i<6;i++)

getchar();

printf("\n\n請再輸入一次6個新密碼字元或數字:");

for(i=0;i<6;i++)

for(i=0;i<6;i++)

continue;

}for(i=0;i<6;i++)

for(i=0;i<6;i++)

fclose(in);

printf("按下任意鍵返回主選單...");

system("pause");

return main();

}int jieshu()

我上傳部分執行:

大一下期課程設計。

課程設計表

create database drug 藥品表 create table drug did nvarchar 10 primary key,dname nvarchar 50 not null,dimage nvarchar 100 not null,dmodel nvarchar 10 chec...

課程設計總結

課程設計今天終於完了,答辯之後感悟挺多的,一方面,覺得自己的努力獲到了應有的成果,當然也有很多不足及未完成的地方 另一方面,看到很多其他同學好的設計及思想。覺得很多方面都值得自己學習,自己還有很多方面都很欠缺,本次課程設計我和兩個同學共三個人做了聊天程式,仿qq做的。聊天軟體,是我之前一直想完成的乙...

課程設計備份

include include include include define size 100 define increase 10 struct nodel 順序表 typedef struct tree btree,bnode 二叉樹struct stackt 棧int caidan int i...