📄 file1.c
字号:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
void dealfile(char *filename1,char *filename2);
char choose;
FILE *fp1,*fp2;
char pwd[9];
void main(int argc,char *argv[])
{
char filename1[41],filename2[41];
/*容错处理*/
if(argc!=4)
{
printf("\t\t **********************************\n");
printf("\t\t * 文件加密程序1.0版 *\n");
printf("\t\t * 作者:李士伟 *\n");
printf("\t\t * cfix软件小组 *\n");
printf("\t\t **********************************\n");
printf("\n\n\t\t (1)加密文件请按1。");
printf("\n\t\t (2)解密文件请按2。");
printf("\n\t\t (*)按其它任意建退出。");
printf("\n\t\t (#)请按键选择( )\b\b");
choose=getch();
printf("%c",choose);
switch(choose)
{
case '1':
printf("\n请输入需要加密的文件路径>");
gets(filename1);
printf("\n请输入加密后输出文件路径>");
gets(filename2);
printf("\n请输入密码:");
gets(pwd);
break;
case '2':
printf("\n请输入需要解密的文件路径>");
gets(filename1);
printf("\n请输入解密后输出文件路径>");
gets(filename2);
printf("\n请输入密码:");
gets(pwd);
break;
default:
return;
}
}
else
{
strcpy(filename1,argv[1]);
strcpy(filename2,argv[2]);
strcpy(pwd,argv[3]);
}
if(pwd[0]=='\0') strcpy(pwd,"12345678");/*空密码默认为12345678*/
dealfile(filename1,filename2);
}
/*加密函数*/
void dealfile(char *filename1,char *filename2)
{
char a;
int i=0,j=0;
fp1=fopen(filename1,"rb");
fp2=fopen(filename2,"wb");
if(fp1==NULL)
{
printf("打开源文件错误!");
fclose(fp1);
getch();
exit(1);
}
if(fp2==NULL)
{
printf("创建输出文件错误!");
fclose(fp1);
getch();
exit(1);
}
printf("%c%c%c",'\7','\7','\7');/*加密\解密前声音提示响3下*/
/*加密\解密过程*/
if(choose=='1')
{
printf("\n正在加密,请稍等……");
}
else
{
printf("\n正在解密,请稍等……");
}
while(pwd[++j]);
while(!feof(fp1))
{ a=fgetc(fp1);
a=a^pwd[i>=j?i=0:i++];/*异或运算*/
fputc(a,fp2);
}
fclose(fp1);
fclose(fp2);
if (choose=='1')
printf("\n\n文件加密成功!");
else
printf("\n\n文件解密成功!");
printf("%c%c%c",'\7','\7','\7');/*加密\解密成功后声音提示响3下*/
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -