欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語(yǔ)言pwd函數(shù),c語(yǔ)言getcwd

c語(yǔ)言中的文件加密

//自己寫(xiě)的加密,加密方法就是根據(jù)輸入的密碼對(duì)文件中的內(nèi)容進(jìn)行異或后存放在加密后的文件中

創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、海南網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為海南等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

//轉(zhuǎn)載請(qǐng)聲明program by STU caige

#includestdio.h

#includestdlib.h

#include conio.h//getche()需要

#includestring.h

char ch;

//異或函數(shù)

int YiHuo(FILE *f0,FILE *fp,int passwordnum,int move,char key)

{

while(fread(ch,1,1,f0),!feof(f0))

{

if (key==49)//加密

{

ch=ch+move;

(char)(ch^=passwordnum);

fwrite(ch,1,1,fp);

}

if (key==50)//解密

{

(char)(ch^=passwordnum);

ch=ch+move;

fwrite(ch,1,1,fp);

}

}

}

int main()

{

//encrypt加密 decrypt解密

FILE *f0,*fe,*fd;

char fname0[50];

char efname[50]={0};

char dfname[50]={0};

char Password[50]={0},key=0,key2=0;

char sysfname[20]={0};

int p=0,passwordnum,move=0;//異或后移動(dòng)的次數(shù) ;

system("cls");

do

{

system("cls");

do

{

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

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

printf("Esc----------退出\n") ;

key=getch();//讀入一個(gè)鍵盤碼

}

while ((key!='1')(key!='2')(key!=27));

Password[50]=0;

passwordnum=0;

if (key==49)

{

system("cls");

printf("請(qǐng)輸入要加密的文件絕對(duì)路徑\n");

scanf("%s",fname0);

// while(key=0)

//打開(kāi)原文件

if ((f0=fopen(fname0,"rb"))==NULL)

{

printf("文件打不開(kāi)哦!\n");

key=0;//文件打開(kāi)失敗時(shí)key的值改變

exit(0);

printf("加密失敗\n");

system("pause");

}

//只有文件fname0打開(kāi)成功時(shí)才能繼續(xù)打開(kāi)efname

if(key==49)

{

system("cls");

printf("請(qǐng)輸入完成加密的文件存儲(chǔ)路徑\n");

scanf("%s",efname);

if ((fe=fopen(efname,"w+"))==NULL)

{

printf("文件打不開(kāi)哦!\n");

printf("加密失敗\n");

fclose(f0);

system("pause");

exit(0);

key=0;

}

}

//如果打開(kāi)文件成功則開(kāi)始輸入密碼

if(key==49)

{

system("cls");

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

scanf("%s",Password);

//把字符密碼轉(zhuǎn)化為整形來(lái)異或

for(p=0;Password[p]!=0;p++)

passwordnum+=((int)Password[p]);

move=(int)(passwordnum%9);

while (move9)

move=(int)(move%9);

printf("%d",move);system("pause");

}

if (key==49)

{//異或加密

system("cls");

YiHuo(f0,fe,passwordnum,move,key);

printf("\n加密成功,您的輸出文件路徑為:\n");

printf("%s",efname);

fclose(f0);

fclose(fe);

}

}

if (key==50)

{

system("cls");

printf("請(qǐng)輸入要解密的文件絕對(duì)路徑\n");

scanf("%s",fname0);

// while(key=0)

//打開(kāi)原文件

if ((f0=fopen(fname0,"rb"))==NULL)

{

printf("文件打不開(kāi)哦!\n");

key=0;//文件打開(kāi)失敗時(shí)key的值改變

exit(0);

printf("解密失敗\n");

system("pause");

}

//只有文件fname0打開(kāi)成功時(shí)才能繼續(xù)打開(kāi)dfname

if(key==50)

{

system("cls");

printf("請(qǐng)輸入完成解密的文件存儲(chǔ)路徑\n");

scanf("%s",dfname);

if ((fd=fopen(dfname,"w+"))==NULL)

{

printf("解密失敗");

fclose(f0);

system("pause");

printf("文件打不開(kāi)哦!\n");

exit(0);

key=0;

}

}

//如果打開(kāi)文件成功則開(kāi)始輸入密碼

if(key==50)

{

system("cls");

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

scanf("%s",Password);

//把字符密碼轉(zhuǎn)化為整形來(lái)異或

for(p=0;Password[p]!=0;p++)

passwordnum+=((int)Password[p]);

move=(int)(passwordnum%9);

while (move9)

move=(int)(move%9);

move=(-move);

}

if (key==50)

{//異或加密

system("cls");

YiHuo(f0,fd,passwordnum,move,key);

printf("\n解密成功,您的輸出文件路徑為:\n%S",dfname);

system("pause");

fclose(f0);

fclose(fd);

}

}

}

while(key!=27);//當(dāng)key為0,即讀寫(xiě)兩個(gè)文件都打開(kāi)成功時(shí)才結(jié)束循環(huán)

return 0;

printf("\n謝謝使用!,program by STU caige\n");

system("pause");

}

c語(yǔ)言文件加密和解密

c語(yǔ)言文件加密和解密方法如下:

1、首先打開(kāi)VC++6.0;

2、選擇文件,新建;

3、選擇C++ source file 新建一個(gè)空白文檔;

4、聲明頭文件

#includestdio.h

#includestdlib.h

#includestring.h

首先寫(xiě)個(gè)加密函數(shù),算法就是簡(jiǎn)介里說(shuō)的;

void?EncryptFile(FILE?*sfp,FILE?*dfp,char?pwd)

{

char?ch;

if(sfp==0||dfp==0)

{

printf("ERROR!\n");

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);

}

}

寫(xiě)解密子函數(shù):與加密的過(guò)程相反; 

 void?DecryptFile(FILE?*sfp,FILE?*dfp,char?pwd)

{

char?ch;

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);

}

}

輸出函數(shù),輸出文件內(nèi)容

void?OutputFile(FILE?*fp)

{

char?ch;

while((ch=fgetc(fp))!=EOF)

putchar(ch);

}

 主函數(shù),主要調(diào)用這幾個(gè)函數(shù)

int?main()

{

/*用戶輸入的要加密的文件名*/

char?sfilename[20];

/*用戶輸入加密后保存的文件名*/

char?dfilename[20];

/*用來(lái)保存密碼字符*/

char?pwd;

FILE?*sfp,*dfp;

printf("\nPlease?input?filename?to?be?encrypted:\n");

/*得到要加密的文件名*/

gets(sfilename);

/*得到加密后你要的文件名*/

printf("input?filename?to?save?the?encrypted?file:\n");

gets(dfilename);

/*得到加密字符*/

printf("Please?input?your?Password:\n");

//scanf("%c",pwd);

pwd=getch();

/*屏幕以*來(lái)表示輸入的加密字符*/

printf("*\n");

/*以只讀方式打開(kāi)要加密的文件*/

if((sfp=fopen(sfilename,"r"))==0)

{

printf("Can't?open?the?file?:%s\n",sfilename);

exit(0);

}

/*輸出要加密的文件*/

printf("\nThe?the?text?of?file?to?be?encrypted?is:\n");

OutputFile(sfp);

/*建立加密后的文件*/

if((dfp=fopen(dfilename,"w+"))==0)

{

printf("Can't?open?or?create?the?file?:%s\n",dfilename);

//exit(0);

}

/*文件加密*/

fseek(sfp,0L,SEEK_SET);

EncryptFile(sfp,dfp,pwd);

printf("\n\nEncrypted?the?file?successfully!\n");

/*輸出加密后的文件*/

printf("\nAfter?encrypting?the?text?of?file?is:\n");

fseek(dfp,0L,SEEK_SET);

OutputFile(dfp);

fclose(sfp);

fclose(dfp);

getch();

return?0;

}

 

C語(yǔ)言用字符串比較函數(shù)驗(yàn)證賬號(hào)和密碼?

#include string.h

char user[]="輸入的帳號(hào)", pwd[]="輸入的密碼";

if (strcmp("真實(shí)帳號(hào)", user) == 0 strcmp("對(duì)應(yīng)密碼", pwd) == 0) {

printf("驗(yàn)證成功!");

} else {

printf("帳號(hào)或密碼錯(cuò)誤!");

}

c語(yǔ)言加密解密算法

這里使用的是按位加密,按ASCII碼進(jìn)行加密的算法自己寫(xiě)個(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];/*用來(lái)保存密碼*/

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ù)開(kāi)始*/

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);/*如果不能打開(kāi)要加密的文件,便退出程序*/

}

fp2=fopen(out_file,"wb");

if(fp2==NULL)

{

printf("cannot open or create out-file.\n");

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

}

/*加密算法開(kāi)始*/

while(j0=0)

{

ch=fgetc(fp1);

while(!feof(fp1))

{

fputc(ch^pwd[j=j0?j=0:j++],fp2);/*異或后寫(xiě)入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);

}

用c語(yǔ)言寫(xiě)登錄時(shí),如何將輸入的密碼顯示為*號(hào)

要?jiǎng)h除*號(hào)的話,稍微改一下if(pwd==8)的處理,比如:

if(pwd==8)

{

if (zu 0)

{

zuce.Pwd[zu-1]='\0';

zu--;

printf("%c",(char)8);

printf(" ");

printf("%c",(char)8);

}

// continue;

}else

用C的話密碼可能差不多就這樣處理吧,當(dāng)然你的程式還需要改進(jìn)一下,比如如果輸入的超過(guò)數(shù)組的容量就skip掉,避免內(nèi)存溢出。還有對(duì)一些無(wú)效的字符比如箭頭按鍵,tab鍵等都skip掉,也就是限制合法字符的范圍。

c語(yǔ)言求助

#includestdio.h

#includeconio.h //用getch()函數(shù)時(shí)要的文件頭

#includestring.h

#define PWD "admin" //這里定義初始密碼

void main()

{

char pwd[16], ch;

int cnt=0, i=0;

while(cnt3) //3次機(jī)會(huì)輸入正確密碼

{

printf("please enter the password to continue:\n"); //輸出的字符應(yīng)該都在雙引號(hào)之內(nèi)

while((ch=getch())!=13i16) //用getch()來(lái)接收輸入字符

{

putchar('*'); //將輸入的密碼轉(zhuǎn)換成字符*

pwd[i]=ch;

i++;

}

pwd[i]=0;

if(!strcmp(PWD,pwd)) {//密碼正確則跳出循環(huán)并提示登錄成功

printf("\nlogin successful!\n");

break;

}

else

printf("\nincorrect password!\n");

cnt++;

}

}

網(wǎng)頁(yè)標(biāo)題:c語(yǔ)言pwd函數(shù),c語(yǔ)言getcwd
轉(zhuǎn)載注明:http://chinadenli.net/article2/dsicdoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化動(dòng)態(tài)網(wǎng)站企業(yè)網(wǎng)站制作關(guān)鍵詞優(yōu)化網(wǎng)站策劃定制網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作