bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

c語言加解密函數(shù),c語言加密解密程序

關(guān)于C語言中加密解密的問題!!!!!!!

fseek(fp,0,SEEK_END); //將位置指針移到文件末尾 SEEK_END是宏定義

站在用戶的角度思考問題,與客戶深入溝通,找到農(nóng)安網(wǎng)站設(shè)計(jì)與農(nóng)安網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋農(nóng)安地區(qū)。

//表示文件尾

int len=ftell(fp); // ftell()函數(shù)可以得到

//文件當(dāng)前位置相對(duì)于文件首的偏移字節(jié)數(shù) .

//在這也就是得到了文件的長(zhǎng)度。

pBuf=new char[len+1]; //分配文件長(zhǎng)度+1個(gè)字符的空間

rewind(fp); //位置指針回到文件首部

fread(pBuf,1,len,fp); //將文件內(nèi)容讀入到剛才分配的Buffer中

pBuf[len]=0; //buffer的最后一位置為0 即'\0'

//表示字符串的結(jié)束

printf("%s\n",pBuf); //打印出buffer內(nèi)容 即文件內(nèi)容

fclose(fp); // 關(guān)閉文件指針

printf("請(qǐng)輸入加密/解密的密碼:\n");

scanf("%s",key); //終端輸入加密或解密的密碼

sc(pBuf,key,len,strlen(key)); //進(jìn)行加密/解密 輸入pBuf 加密/解密后文本仍

//放在pBuf中

printf("請(qǐng)輸入保存加密文件的文件名:\n");

scanf("%s",filename); //終端輸入加密/解密后保存的文件名

if((fp=fopen(filename,"wb"))==NULL) //創(chuàng)建該文件

{printf("無法保存文件,請(qǐng)注意磁盤是否已滿!\n");

exit(0); }

else

fwrite(pBuf,1,len,fp); //將加密/解密后文本寫到文件中

fclose(fp); //關(guān)閉文件

void sc(char *fp,char *key,int Flen,int Klen)//是一個(gè)加密/解密函數(shù)

{int i,j,k;

for(i=0;iFlen;i+=Klen)

for(j=i,k=0;kKlen;j++,k++)

fp[j]^=key[k];fp[i]='\0';printf("%s\n",fp);}

C語言(文件的移位與加密解密)

這道題,并不難,只是樓主,沒有說清,是就字母移位嗎?

但是看你的例子,有不全是。

程序如下:

#include stdio.h

#include stdlib.h

FILE *source;//源文件

FILE *destination;//目標(biāo)文件

int key;//密鑰

char file[100];//文件名

void encryption()//加密

{

char ch;

printf("請(qǐng)輸入要加密的文件名\n");

scanf("%s",file);

if((source=fopen(file,"r"))==NULL)

{

printf("無法打開文件!\n");

exit(0);

}

printf("請(qǐng)輸入加密后的文件名\n");

scanf("%s",file);

if((destination=fopen(file,"w"))==NULL)

{

printf("無法創(chuàng)建文件!\n");

exit(0);

}

printf("請(qǐng)輸入密鑰\n");

scanf("%d",key);

ch=fgetc(source);

while(ch!=EOF)

{

if(ch=='\n')

{

fputc(ch,destination);

ch=fgetc(source);

continue;

}

ch+=key;

fputc(ch,destination);

ch=fgetc(source);

}

fclose(source);

fclose(destination);

}

void decrypt()//解密

{

char ch;

printf("請(qǐng)輸入要解密的文件名\n");

scanf("%s",file);

if((source=fopen(file,"r"))==NULL)

{

printf("無法打開文件!\n");

exit(0);

}

printf("請(qǐng)輸入加密后的文件名\n");

scanf("%s",file);

if((destination=fopen(file,"w"))==NULL)

{

printf("無法創(chuàng)建文件!\n");

exit(0);

}

printf("請(qǐng)輸入密鑰\n");

scanf("%d",key);

ch=fgetc(source);

while(ch!=EOF)

{

if(ch=='\n')

{

fputc(ch,destination);

ch=fgetc(source);

continue;

}

ch-=key;

fputc(ch,destination);

ch=fgetc(source);

}

fclose(source);

fclose(destination);

}

int main()//主函數(shù)提供菜單

{

int choice=0;

printf("******************\n");

printf("1 文件加密\n");

printf("2 文件解密\n");

printf("3 退出\n");

printf("******************\n");

printf("請(qǐng)輸入1 2 3選擇操作\n");

scanf("%d",choice);

switch(choice)

{

case 1:encryption();break;

case 2:decrypt();break;

case 3:break;

}

return 0;

}

c語言加密解密算法

這里使用的是按位加密,按ASCII碼進(jìn)行加密的算法自己寫個(gè),很容易的。

#includestdio.h

#includestdlib.h

#includeconio.h

#includestring.h

void

dofile(char

*in_fname,char

*pwd,char

*out_fname);/*對(duì)文件進(jìn)行加密的具體函數(shù)*/

void

usage(char

*name);

void

main(int

argc,char

*argv[])/*定義main()函數(shù)的命令行參數(shù)*/

{

char

in_fname[30];/*用戶輸入的要加密的文件名*/

char

out_fname[30];

char

pwd[10];/*用來保存密碼*/

if(argc!=4)

{/*容錯(cuò)處理*/

usage(argv[0]);

printf("\nIn-fname:\n");

gets(in_fname);/*得到要加密的文件名*/

while(*in_fname==NULL)

{

printf("\nIn-fname:\n");

gets(in_fname);

}

printf("Password

6-8:\n");

gets(pwd);/*得到密碼*/

while(*pwd==NULL

||

strlen(pwd)8

||

strlen(pwd)6)

{

printf("Password

6-8:\n");

gets(pwd);

}

printf("Out-file:\n");

gets(out_fname);/*得到加密后你要的文件名*/

while(*in_fname==NULL)

{

printf("Out-file:\n");

gets(out_fname);

}

while(!strcmp(in_fname,out_fname))

{

printf("文件名不能和源文件相同\n");

printf("Out-file:\n");

gets(out_fname);

}

dofile(in_fname,pwd,out_fname);

printf("加密成功,解密請(qǐng)?jiān)俅芜\(yùn)行程序\n");

}

else

{/*如果命令行參數(shù)正確,便直接運(yùn)行程序*/

strcpy(in_fname,argv[1]);

strcpy(pwd,argv[2]);

strcpy(out_fname,argv[3]);

while(*pwd==NULL

||

strlen(pwd)8

||

strlen(pwd)6)

{

printf("Password

faied!\n");

printf("Password

6-8:\n");

gets(pwd);

}

while(!strcmp(in_fname,out_fname))

{

printf("文件名不能和源文件相同\n");

printf("Out-file:\n");

gets(out_fname);

while(*in_fname==NULL)

{

printf("Out-file:\n");

gets(out_fname);

}

}

dofile(in_fname,pwd,out_fname);

printf("加密成功,解密請(qǐng)?jiān)俅芜\(yùn)行程序\n");

}

}

/*加密子函數(shù)開始*/

void

dofile(char

*in_fname,char

*pwd,char

*out_file)

{

FILE

*fp1,*fp2;

register

char

ch;

int

j=0;

int

j0=strlen(pwd);

fp1=fopen(in_fname,"rb");

if(fp1==NULL)

{

printf("cannot

open

in-file.\n");

exit(1);/*如果不能打開要加密的文件,便退出程序*/

}

fp2=fopen(out_file,"wb");

if(fp2==NULL)

{

printf("cannot

open

or

create

out-file.\n");

exit(1);/*如果不能建立加密后的文件,便退出*/

}

/*加密算法開始*/

while(j0=0)

{

ch=fgetc(fp1);

while(!feof(fp1))

{

fputc(ch^pwd[j=j0?j=0:j++],fp2);/*異或后寫入fp2文件*/

ch=fgetc(fp1);

}

j0--;

}

fclose(fp1);/*關(guān)閉源文件*/

fclose(fp2);/*關(guān)閉目標(biāo)文件*/

}

void

usage(char

*name)

{

printf("\t=======================File

encryption======================\n");

printf("\tusage:

%s

In-fname

password

out_fname\n",name);

printf("\tExample:

%s

file1.txt

12345678

file2.txt\n",name);

}

編寫函數(shù)完成字符串的加密與解密(c語言)?

C語言代碼和運(yùn)行結(jié)果如下:

輸出符合示例,加解密均正確,望采納~

附源碼鏈接:字符串加解密

C語言設(shè)計(jì)一個(gè)簡(jiǎn)單的加密解密程序

C語言設(shè)計(jì)一個(gè)簡(jiǎn)單的加密解密程序如下:

加密程序代碼:

#includestdio.h

main()

{

char

c,filename[20];

FILE

*fp1,*fp2;

printf("請(qǐng)輸入待加密的文件名:\n");

scanf("%s",filename);

fp1=fopen(filename,"r");

fp2=fopen("miwen.txt","w");

do

{

c=fgetc(fp1);

if(c=32c=126)

{

c=c-32;

c=126-c;

}

if(c!=-1)

fprintf(fp2,"%c",c);

}

while(c!=-1);

}

解密程序代碼:

#includestdio.h

#includestring.h

main()

{

char

c,filename[20];

char

yanzhengma[20];

FILE

*fp1,*fp2;

printf("請(qǐng)輸入待解密文件名:\n");

scanf("%s",filename);

printf("請(qǐng)輸入驗(yàn)證碼:\n");

scanf("%s",yanzhengma);

if(strcmp(yanzhengma,"shan")==0)

{

fp1=fopen(filename,"r");

fp2=fopen("yuanwen.txt","w");

do

{

c=fgetc(fp1);

if(c=32c=126)

{

c=126-c;

c=32+c;

}

if(c!=-1)

fprintf(fp2,"%c",c);

}

while(c!=-1);

}

else

{

printf("驗(yàn)證碼錯(cuò)誤!請(qǐng)重新輸入:\n");

scanf("%s",filename);

}

}

網(wǎng)頁名稱:c語言加解密函數(shù),c語言加密解密程序
轉(zhuǎn)載注明:http://vcdvsql.cn/article42/hseeec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)Google域名注冊(cè)網(wǎng)站排名網(wǎng)站導(dǎo)航網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)