- #include<stdio.h>
- #include<stdlib.h>
- #include<io.h>
- main()
- {
- FILE *fp1,*fp2;
- char str1[50],str2[]="tidaiwenben.txt",key[10];
- char ch;
- int i=0;
- printf("注意:此程序不能加密名为tidaiwenben.txt的文件\\n");
- printf("请输入文件名:");
- scanf("%s",str1);
- printf("输入密码(不超过10位数):");
- scanf("%s",key);
- printf("文件加密/解密中请稍后・・・\\n");
- if((fp1=fopen(str1,"rb"))==NULL)
- {
- printf("文件打开错误!");
- exit(0);
- }
- if((fp2=fopen(str2,"wb+"))==NULL)
- {
- printf("文件打开失败!");
- exit(0);
- }
- ch=fgetc(fp1);
- while(!feof(fp1))
- {
- ch=ch^*(key+i);
- i++;
- fputc(ch,fp2);
- ch=fgetc(fp1);
- if(i<=10)
- i=0;
- }
- fclose(fp1);
- rewind(fp2);
- if((fp1=fopen(str1,"wb"))==NULL)
- {
- printf("文件打开失败!");
- exit(0);
- }
- ch=fgetc(fp2);
- while(!feof(fp2))
- {
- fputc(ch,fp1);
- ch=fgetc(fp2);
- }
- fclose(fp1);
- fclose(fp2);
- remove(str2);
- printf("文件加密/解密完成,按任意键继续!\\n");
- }
- //该片段来自于http://www.codesnippet.cn/detail/031220137670.html
来源: http://www.codesnippet.cn/detail/031220137670.html