c语言文件加密解密.doc
文本预览下载声明
实验项目内容(实验题目)
文件加密解密。将文件file1中的每一字符与0x6a异或变成另一个字符送屏幕显示,同时存入文件file2中。打开加密的file2输出解密内容。要求加密自己写过的一个程序文件。
注:1、异或运算符——“^”;
2、被加密文件和加密输出文件的名字从命令行提供; 源程序(实验过程或算法)
#includestdio.h
#includestdlib.h
void main(int argc,char *argv[])
{
FILE *p1,*p2;
char n=0x6a,ch;
if(argc!=3)
{
printf(命令行输入有误\n);
return;
}
if((p1=fopen(argv[1],rb))==NULL)
{
printf(不能打开源文件\n);
return;
}
if((p2=fopen(argv[2],wb))==NULL)
{
printf(不能打开或创建目标文件\n);
return;
}
printf(加密后文件为\n);
while(1)
{ ch=fgetc(p1);
if(feof(p1))
break;
ch=ch^n;
fputc(ch,p2);
putchar(ch);
}
fclose(p1);
fclose(p2);
printf(文件加密完毕\n);
if((p2=fopen(argv[2],rb))==NULL)
{
printf(不能打开或创建目标文件2\n);
return;
}
printf(文件解密如下:\n);
while(1)
{ ch=fgetc(p2);
if(feof(p2))
break;
ch=ch^n;
putchar(ch);
}
fclose(p2);
}
显示全部