導航:首頁 > 文檔加密 > c語言文本加密解密課程設計

c語言文本加密解密課程設計

發布時間:2022-05-27 15:15:39

① c語言課程設計,題目加密與解密,不需要太高深的,二百行左右的程序

一個文件里有數據 如:ABCDEFG
加密:open文件
建新文件
讀取原文件內容 處理後 寫入新文件 直到原文件結束
close兩個文件 新文件即為加密後文件
解密: 同理 反向處理數據 寫入新文件 解密成功

② c語言課程設計報告之文件加密解密,要詳細一點的,完整的

開篇
人生命、要守護,十條法則要記住,一旦災害發生時,及時應用心有數。
一、地震
遇地震,先躲避,桌子床下找空隙,靠在牆角曲身體,抓住機會逃出去,
遠離所有建築物,餘震蹲在開闊地。
二 火災
火災起,怕煙熏,鼻口捂住濕毛巾,身上起火地上滾,不乘電梯往下奔,
陽台滑下捆繩索, 盲目跳樓會傷身。
三、洪水
洪水猛,高處行,土房頂上待不成,睡床桌子扎木筏,大樹能栓救命繩,
准備食物手電筒,穿暖衣服渡險情。
四、台風
台風來,聽預報,加固堤壩通水道。煤氣電路檢修好,臨時建築整牢靠。
船進港口深拋錨,減少出行看信號。
五、泥石流
下暴雨,泥石流,危險處地是下游,逃離別順溝底走,橫向快爬上山頭。
野外宿營不選溝,進山一定看氣候。
六、雷擊
陰雨天,生雷電,避雨別在樹下站,鐵塔線桿要離遠,打雷家中也防患,
關好門窗切電源,避免雷火屋裡竄。
七、暴雪
暴雪天,人慢跑,背著風向別停腳,身體凍僵無知覺,千萬不能用火烤,
冰雪搓洗血循環,慢慢溫暖才見好。
八、龍卷風
龍卷風,強風暴,一旦襲來進地窖,室內躲避離門窗,電源水源全關掉,
室外趴在低窪地,汽車裡面不可靠。
九、疫情
對疫情,別麻痹,預防傳染做仔細,發現患者即隔離,通風消毒餐用具。
人受感染早就醫,公共場所要少去。
十、防化
化學品,有危險,遺棄物品不要撿,
預防煙火燃毒氣,報警說明出事點。運輸泄露別圍觀,人在風頭要離遠。
人生命,重於山,防災避險於未然。掌握技能常演練,祝願人人保平安。

今年教育部與中央電視台聯合舉辦了「知識守護生命」大型公益活動,並邀請奧運冠軍、著名學者和社會知名人士製作了有關中小學安全教育的特別節目,就是《開學第一課》,它以生命意識教育為主題,倡議全國的中小學學生每年每學期都進行應急避險教育;這一特殊的公益課由「潛能」、「團隊」、「堅持」「生命」四節課完美組成:
「潛能」:每個人都有潛在的能量,潛能需要激發,人在危險時第一反應就是潛能支配肢體行為,同時潛能很易被習慣掩蓋,就會失去生命的機會,相反也會贏得生命的機會!
「堅持」:每個人都知道「堅持就是勝利」這句話的道理,堅持就可以創造生命奇跡,就像在這次地震中堅持活下來的人就會有新的人生。面對人生就要有堅持不懈的精神。
「團隊」:團隊精神的形成並不要求團隊成員犧牲自我,相反,揮灑個性、表現特長保證了成員共同完成任務目標,是一種真正的內心動力。面對災難,團隊精神顯得尤為重要。
「生命」:快樂是一種心理感受。快樂是健康的金鑰匙,人處世間,理應追求快樂。懂得快樂、善於快樂實在是一種智慧。正如在這次災難中的倖存者更要笑對新的人生。

③ C語言設計一個簡單的加密解密程序

C語言設計一個簡單的加密解密程序如下:
加密程序代碼:
#include<stdio.h>
main()
{
char
c,filename[20];
FILE
*fp1,*fp2;
printf("請輸入待加密的文件名:\n");
scanf("%s",filename);
fp1=fopen(filename,"r");
fp2=fopen("miwen.txt","w");
do
{
c=fgetc(fp1);
if(c>=32&&c<=126)
{
c=c-32;
c=126-c;
}
if(c!=-1)
fprintf(fp2,"%c",c);
}
while(c!=-1);
}
解密程序代碼:
#include<stdio.h>
#include<string.h>
main()
{
char
c,filename[20];
char
yanzhengma[20];
FILE
*fp1,*fp2;
printf("請輸入待解密文件名:\n");
scanf("%s",filename);
printf("請輸入驗證碼:\n");
scanf("%s",yanzhengma);
if(strcmp(yanzhengma,"shan")==0)
{
fp1=fopen(filename,"r");
fp2=fopen("yuanwen.txt","w");
do
{
c=fgetc(fp1);
if(c>=32&&c<=126)
{
c=126-c;
c=32+c;
}
if(c!=-1)
fprintf(fp2,"%c",c);
}
while(c!=-1);
}
else
{
printf("驗證碼錯誤!請重新輸入:\n");
scanf("%s",filename);
}
}

④ c語言課程設計 文本文件加密技術

以前寫過一個差不多的,不知道你們能不能用得上,初始密碼123

#include"stdio.h"
#include"conio.h"
#include"stdlib.h"
#include"string.h"

voidmenu();//菜單
voidchuLi();//處理
voidQu();//讀取
voidopenPassword();//打開密碼
charpassword[]="123";//密碼
enums{JIAMI,JIEMI,DUQU}state;//處理狀態(加密,解密,讀取)

//加密演算法
voidcalculate(char*c)
{
switch(state)
{
caseJIAMI:
*c=*c^'0';
*c=*c+100;
break;
caseJIEMI:
caseDUQU:
*c=*c-100;
*c=*c^'0';
break;
}
}

intmain()
{
openPassword();
for(;;)
menu();
}

//打開密碼
voidopenPassword()
{
charinput[50];

printf("請輸入密碼:");
scanf("%s",input);

//判斷密碼是否正確
while(strcmp(input,password)!=0)
{
printf("密碼錯誤,請重新輸入:");
scanf("%s",input);
}
}

//菜單
voidmenu()
{
intselect;
system("cls");
printf("1.加密文本 ");
printf("2.解密文本 ");
printf("3.讀取文本 ");
printf("請選擇:");
scanf("%d",&select);
system("cls");

//判斷輸入是否正確
while(select<1||select>3)
{
printf("輸入有誤,請重新輸入:");
scanf("%d",&select);
}

switch(select)
{
case1:
state=JIAMI;
chuLi();
break;
case2:
state=JIEMI;
chuLi();
break;
case3:
state=DUQU;
Qu();
break;
}
}

//處理
voidchuLi()
{
FILE*file;//源文件
FILE*fileL;//臨時文件
charfileName[50];//文件名
charcommand[50];//命令語句
charc;//臨時處理變數

//打開源文件
do
{
if(state==JIAMI)
printf("請輸入要加密的文件:");
elseif(state==JIEMI)
printf("請輸入要解密的文件:");
scanf("%s",fileName);
file=fopen(fileName,"r");
if(file==NULL)
printf("文件不存在,");
}while(file==NULL);

//進行加解密
fileL=fopen("臨時文件.txt","w");
while(!feof(file))
{
c=fgetc(file);
calculate(&c);
fputc(c,fileL);
}
fclose(file);
fclose(fileL);

//刪除源文件
sprintf(command,"del%s",fileName);
system(command);

//重命名新文件
sprintf(command,"rename臨時文件.txt%s",fileName);
system(command);

if(state==JIAMI)
printf("加密成功");
elseif(state==JIEMI)
printf("解密成功");
getch();
}

//讀取
voidQu()
{
FILE*file;
charfileName[50];
charc;

//打開源文件
do
{
printf("請輸入要讀取的加密文件:");
scanf("%s",fileName);
file=fopen(fileName,"r");
if(file==NULL)
printf("文件名不存在,");
}while(file==NULL);

//把文件輸出到屏幕上
system("cls");
while(!feof(file))
{
c=fgetc(file);
calculate(&c);
printf("%c",c);
}
fclose(file);
getch();
}

⑤ C語言程序設計文件加密解密

3.126 icePub_encryptFile

l 函數原型:
int WINAPI icePub_encryptFile(char *strFilename, char *strOutputFilename, char *strKey)
輸入:strFilename 待加密文件名
strOutputFilename 加密後文件名
strKey 密鑰,任意長度
輸出:
返回碼:

cePub_decryptFile

l 函數原型:
int WINAPI icePub_decryptFile(char *strFilename, char *strOutputFilename, char *strKey)
輸入:strFilename 加密文件名
strOutputFilename 解密後文件名
strKey 密鑰,任意長度
輸出:
返回碼:

http://dl.icese.net/dev.php?f=icePubDll.rar
下載

⑥ c語言程序設計文件加密解密

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

main()
{
void sc(char *fp,char *key,int Flen,int Klen);
FILE *fp;
char *pBuf,filename[20],key[20],ch;

printf("請輸入選擇:A、加密 B、解密 C退出\n");
ch=getchar();
while(ch!='c'&&ch!='C')
{
if(ch=='a'||ch=='A'||ch=='b'||ch=='B')
{
printf("請輸入要打開的文件名:\n");
scanf("%s",filename);
if((fp=fopen(filename,"rb"))==NULL)
{printf("無法打開文件,請注意輸入後綴!\n");<br/> exit(0);<br/> }

fseek(fp,0,SEEK_END);
int len=ftell(fp);
pBuf=new char[len+1];
rewind(fp);
fread(pBuf,1,len,fp);
pBuf[len]=0;
printf("%s\n",pBuf);
fclose(fp);

printf("請輸入加密/解密的密碼:\n");
scanf("%s",key);
sc(pBuf,key,len,strlen(key));

printf("請輸入保存加密文件的文件名:\n");
scanf("%s",filename);
if((fp=fopen(filename,"wb"))==NULL)
{printf("無法保存文件,請注意磁碟是否已滿!\n");<br/> exit(0);<br/> }
else
fwrite(pBuf,1,len,fp);
fclose(fp);
printf("請輸入選擇:A、加密 B、解密 C退出\n");
}
else {
printf("輸入錯誤,請重新輸入\n");
}
ch=getchar();
ch=getchar();
}
}
void sc(char *fp,char *key,int Flen,int Klen)
{int i,j,k;<br/>for(i=0;i<Flen;i+=Klen)<br/>for(j=i,k=0;k<Klen;j++,k++)<br/>fp[j]^=key[k];<br/><br/>fp[i]='\0';<br/>printf("%s\n",fp);<br/>}

⑦ C語言程序設計之文件加密

我寫的,純粹為了好玩。
小程序,加密自然比較簡單,程序在win-tc下通過。
/* 數據安全實用程序,加密解密簡單程序 */
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int flag;

char encrypt(char ch,int key)/*加密函數,把字元循環移位*/
{
if(ch>='a' && ch<='z') /* 如果是小寫字母 */
{
ch=(ch-'a'+key%26)%26+'a';
}
else if(ch>='A' && ch<='Z') /* 如果是大寫字母 */
{
ch=(ch-'A'+key%26)%26+'A';
}
return ch;
}

char decrypt(char ch,int key)/*解密函數,把字元循環移位*/
{
if(ch>='a' && ch<='z') /* 如果是小寫字母 */
{
ch=(ch-'a'+26-key%26)%26+'a';
}
else if(ch>='A' && ch<='Z') /* 如果是大寫字母 */
{
ch=(ch-'A'+26-key%26)%26+'A';
}
return ch;
}

void menu()/*菜單,1.加密,2.解密,3.顯示文本文件內容*/
{
clrscr();
printf("\n=======================================================");
printf("\n1.Encrypt the text file");
printf("\n2.Decrypt the text file");
printf("\n3.Display text file contents");
printf("\n4.Quit\n");
printf("=========================================================\n");
printf("Please select a item:");
}

void logo()/*顯示程序信息*/
{
printf("\n welcome to encrypt program \n ");
return;
}

void encrypt_decrypt_File(char* infile,int key, char* outfile)
{
FILE *in,*out;
char ch;
clrscr();
if((in=fopen(infile,"r"))==NULL) /* 打開欲加密或解密的文件*/
{
printf("Can not open the infile!\n");
printf("Press any key to exit!\n");
getch();
exit(0);
}
if((out=fopen(outfile,"w"))==NULL) /* 打開文件保存加密或解密後的內容*/
{
printf("Can not open the outfile!\n");
printf("Press any key to exit!\n");
fclose(in);
getch();
exit(0);
}
ch=fgetc(in); /*從文本文件中讀入字元*/
while(ch!=EOF)/*加密或解密*/
{
/*如果是英文字元,則進行加密或解密,否則,不進行加密或解密處理*/
if((ch>='a' && ch<='z' ) || (ch>='A' && ch<='Z'))
{ if(flag==1)
fputc(encrypt(ch,key),out);
if(flag==2)
fputc(decrypt(ch,key),out);
}
else
fputc(ch,out);
ch=fgetc(in);
}
/*關閉輸入及輸出文件*/
fclose(in);
fclose(out);

}

void displayFile(char *infile) /*將文本文件的內容顯示在屏幕上*/
{
FILE *fp;
char string[81];
if((fp=fopen(infile,"r"))==NULL)
{
printf("cann't open file");exit(0);
}
while(fgets(string,81,fp)!=NULL)
fputs(string,stdout); /*把所取字元串送到屏幕顯示*/
fclose(fp);
}

int main()
{
int i,n;
char ch0,ch1;
char infile[40],outfile[40];
textbackground(LIGHTGRAY); /*設置背景顏色*/
textcolor(BLACK); /*設置文字顏色*/
clrscr();/*清除屏幕顯示*/
logo(); /*顯示程序信息*/
sleep(2);
menu(); /*顯示屏幕菜單*/
ch0=getche();/*等待用戶從鍵盤輸入*/
while(ch0!='4')
{
clrscr();
if(ch0=='1') /*選擇加密功能*/
{
flag=1;
printf("\nPlease input the infile to be encrypted:");
scanf("%s",infile);
printf("Please input the encrypt key:");
scanf("%d",&n);/*輸入加密密碼*/
printf("Please input the outfile:");
scanf("%s",outfile);/*輸入存放加密內容的文件名*/
encrypt_decrypt_File(infile,n,outfile);
printf("\nEncrypt is over!\n");
sleep(1);
}else if(ch0=='2') /*選擇解密功能*/
{
flag=2;
printf("\nPlease input the infile to be decrypted:");
scanf("%s",infile);
printf("Please input the decrypt key:");
scanf("%d",&n);/*輸入解密密碼,加密和解密密碼應相同*/
printf("Please input the outfile:");
scanf("%s",outfile);/*輸入存放解密內容的文件名*/
encrypt_decrypt_File(infile,n,outfile);
printf("\nDecrypt is over!\n");
sleep(1);
}else if(ch0=='3') /*選擇顯示文本文件功能*/
{
printf("\nPlease input the infile to be displayed:");
scanf("%s",infile);
displayFile(infile);
getch();
}else{ /*不合法輸入*/
printf("\nplease input a valid number(1-4)\n");
sleep(1);
}
menu();/*顯示程序菜單*/
ch0=getche(); /*等待用戶下一次的功能選擇*/
}
system("cls");/*清除屏幕*/
logo(); /*顯示程序信息*/
printf("\nGood Bye!\n");
sleep(2);

system("pause");
return 0;
}

⑧ 用C語言設計一個文件加密與解密程序

c語言文件加密和解密方法如下:

1、首先打開VC++6.0;


4、聲明頭文件

#include<stdio.h>

#include<stdlib.h>

#include<string.h>


首先寫個加密函數,演算法就是簡介里說的;

voidEncryptFile(FILE*sfp,FILE*dfp,charpwd)
{
charch;
if(sfp==0||dfp==0)
{
printf("ERROR! ");
return;
}
while((ch=fgetc(sfp))!=EOF)
{
if((ch>='a')&&(ch<='z'))
{
ch=(ch-'a'+1)%26+'a';
ch=ch^pwd;
}
if((ch>='A')&&(ch<='Z'))
{
ch=(ch-'A'+1)%26+'A';
ch=ch^pwd;
}
fputc(ch,dfp);
}
}

寫解密子函數:與加密的過程相反;

voidDecryptFile(FILE*sfp,FILE*dfp,charpwd)
{
charch;
while((ch=fgetc(sfp))!=EOF)
{
if((ch>='a')&&(ch<='z'))
{
ch=ch^pwd;
ch=(ch-'a'+25)%26+'a';
}
if((ch>='A')&&(ch<='Z'))
{
ch=ch^pwd;
ch=(ch-'A'+25)%26+'A';
}
fputc(ch,dfp);
}
}

輸出函數,輸出文件內容
voidOutputFile(FILE*fp)
{
charch;
while((ch=fgetc(fp))!=EOF)
putchar(ch);
}
主函數,主要調用這幾個函數
intmain()
{
/*用戶輸入的要加密的文件名*/
charsfilename[20];
/*用戶輸入加密後保存的文件名*/
chardfilename[20];
/*用來保存密碼字元*/
charpwd;
FILE*sfp,*dfp;

printf(": ");
/*得到要加密的文件名*/
gets(sfilename);
/*得到加密後你要的文件名*/
printf(": ");
gets(dfilename);
/*得到加密字元*/
printf("PleaseinputyourPassword: ");
//scanf("%c",&pwd);
pwd=getch();
/*屏幕以*來表示輸入的加密字元*/
printf("* ");
/*以只讀方式打開要加密的文件*/
if((sfp=fopen(sfilename,"r"))==0)
{
printf("Can'topenthefile:%s ",sfilename);
exit(0);
}
/*輸出要加密的文件*/
printf(": ");
OutputFile(sfp);
/*建立加密後的文件*/
if((dfp=fopen(dfilename,"w+"))==0)
{
printf("Can'topenorcreatethefile:%s ",dfilename);
//exit(0);
}
/*文件加密*/
fseek(sfp,0L,SEEK_SET);
EncryptFile(sfp,dfp,pwd);
printf(" Encryptedthefilesuccessfully! ");
/*輸出加密後的文件*/
printf(": ");
fseek(dfp,0L,SEEK_SET);
OutputFile(dfp);
fclose(sfp);
fclose(dfp);
getch();
return0;
}

⑨ 如何用C語言對文件進行加密和解密

對於加密要求不高的完全可以自己定義規則來進行加密。這種加密是很簡單很自由的,例如你在存文件的時候可以將文件中的每個字元都加上一個數,然後讀取該文件的時候再每個字元相應地減去那個數,即可實現就簡單的加密,這樣你儲存的文件看上去就是亂碼了。只是這個規則太簡單,規則你可以自己定,加密與解密對著來就行了。
下面程序用異或操作對文件進行加密和解密
/****************** 設計思路 ******************/
// 根據用戶輸入的加密/機密密碼,
// 每次都拿原文件和密碼等長度的一個字元串和密碼
// 對應元素異或進行加密/解密
// 另外因為是用異或方法,所以加密和解密就是同一個程序
// 即按照同樣的加密即是對文件的解密

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
#include <stdlib.h>

char filename[256]; // 原文件
char password[256]; // 加密/解密密碼
const char filenametemp[] = "temp15435255435325432543.temp"; // 加密/解密中間文件

void inputpass(char *pass); //密碼輸入以"******"顯示

void main() {

FILE *fp; // 加密/解密的文件
FILE *fptemp; // 加密/解密過程臨時文件
int pwdlen; // 密碼長度
int i = 0; // 計數器
char ch = 0; // 讀入的字元

printf("請輸入要加密/解密的文件名(全路徑名): \n");
gets(filename);
if( (fp = fopen(filename, "rb")) == NULL) {
printf("找不到文件 %s\n", filename);
exit(1);
} // if

printf("請輸入要加密/解密的密碼: \n");
inputpass(password);
pwdlen = strlen(password);
if(pwdlen == 0) {
printf("密碼不能為空,加密/解密失敗\n");
exit(1);
} // if

fptemp = fopen(filenametemp, "wb"); // 打開中間文件
while(1) {
ch = fgetc(fp);// 從原文件讀入一個字元
if(feof(fp)) { // 已經讀到文件尾
break; // 退出循環
}
ch ^= password[i++]; // 對原字元和密碼進行異或操作
fputc(ch, fptemp); // 將異或結果寫入中間文件
if(i == pwdlen) { // 使得原文件每和密碼長度相同的固定長度異或加密
i = 0;
}
} // while

fclose(fp); // 關閉打開原文件
fclose(fptemp); // 關閉打開中間文件

remove(filename); // 刪除原文件
rename(filenametemp, filename); // 將中間文件重命名為原文件
printf("加密/解密成功\n"); // 至此加密/解密成功

}

// 密碼輸入以"******"顯示
void inputpass(char *pass) {
int i = 0;
char c;
while(isprint(c = getch())) {
pass[i++] = c;
// printf("*");
}
pass[i] = '\0';
printf("\n");
}

⑩ 如何用C語言對文件進行加密和解密急求......................

文件分為文本文件和二進制文件。加密方法也略有不同。
1、文本文件
加密的主要是文本的內容,最簡單的方法就是修改文檔的內容,比如1.txt中的文件內容:
abcd
只要給每一個字元+1,就可以實現加密。文件內容即會變為
bcde

2、二進制文件加密
二進制文件加密也就是對應用程序加密,需要理解可執行文件格式,比如Windows平台的Exe文件它是PE結構,Linux上的可執行文件是ELF結構,要對這樣的程序進行加密,實際上是開發一種叫做「殼」的程序,這種程序的開發,需要將扎實的底層基礎,同時也需要對軟體加密解密有細致的理解,比如流行的vmprotect、z殼以及早些年的upx殼、aspack等等。

3、無論哪種加密都牽涉到文件操作的問題,使用C語言進行文件操作時,極少使用C標准庫中的I/O函數,大多數使用操作系統提供的內存文件映射相關的API函數,有興趣,可以搜索相關的資料。

閱讀全文

與c語言文本加密解密課程設計相關的資料

熱點內容
安卓怎麼下載60秒生存 瀏覽:792
外向式文件夾 瀏覽:225
dospdf 瀏覽:420
怎麼修改騰訊雲伺服器ip 瀏覽:377
pdftoeps 瀏覽:483
為什麼鴻蒙那麼像安卓 瀏覽:726
安卓手機怎麼拍自媒體視頻 瀏覽:176
單片機各個中斷的初始化 瀏覽:714
python怎麼集合元素 瀏覽:470
python逐條解讀 瀏覽:822
基於單片機的濕度控制 瀏覽:488
ios如何使用安卓的帳號 瀏覽:874
程序員公園采訪 瀏覽:802
程序員實戰教程要多長時間 瀏覽:965
企業數據加密技巧 瀏覽:125
租雲伺服器開發 瀏覽:804
程序員告白媽媽不同意 瀏覽:327
攻城掠地怎麼查看伺服器 瀏覽:592
android開機黑屏 瀏覽:568
mc純生存伺服器是什麼意思 瀏覽:440