# include & ltstdlib.h & gt
# include & ltconio.h & gt
# include & ltstring.h & gt
void dofile(char *in_fname,char *pwd,char out_file)
{
FILE *fp1,* fp2
寄存器char ch
int j = 0;
int j0 = 0;
fp1=fopen(in_fname," Rb ");
if(fp1==NULL)
{
printf("無法打開文件內。\ n ");
退出(1);//如果打不開要加密的文件,退出程序。
}
fp2=fopen(out_file,“WB”);
if(fp2==NULL)
{
printf("無法打開或創建輸出文件。\ n ");
退出(1);//如果無法創建加密文件,則退出。
}
while(pwd[++j0]);
ch = fgetc(FP 1);//加密算法開始。
而(!feof(fp1))
{
fputc(ch^pwd[j>;j0?j=0:j++],fp2);//異或後寫入fp2文件。
ch = fgetc(FP 1);
}
fclose(FP 1);
fclose(fp2);
}
void main(int argc,char *argv[])
{
char in _ fname[30];
char out _ fname[30];
char pwd[8];
如果(argc!=4)
{
printf(" \ n-fname:\ n ");
獲取(in _ fname);
printf(" Password:\ n ");
gets(pwd);
printf(" Out-file:\ n ");
gets(out _ fname);
dofile(in_fname,pwd,out _ fname);
}
其他
{
strcpy(in_fname,argv[1]);
strcpy(pwd,argv[2]);
strcpy(out_fname,argv[3]);
dofile(in_fname,pwd,out _ fname);
}
}