数据文件加密算法--换位加密法数据文件加密算法--换位加密法#include<stdio.h>#include<ctype.h>union message{int s1[1000];int s2[100][10];} user;main(int argc,char *argv[]){ FILE *fp1,*fp2;int t,t2,flag;if((toupper(*argv[3])=='E')||(toupper(*argv[3])=='D'))flag=1;if((argc!=4)||(flag!=1)){ printf("/007 Error: 参数错误!!/n");printf(" 格式:JM3 input output E/D /n");exit(0); }if((fp1=fopen(argv[1],"r"))==0){printf("/007 Error: 不能打开输入文件!/n");exit(0); }if((fp2=fopen(argv[2],"w"))==0){printf("/007 Error: 不能创建输出文件!/n");exit(0); }for(t=0;t< 1000;t++)user.s1[t]=0;if(toupper(*argv[3])=='E') /* 加密处理 */{ for(t=0;t< 1000;++t) {user.s1[t]=getc(fp1);if(user.s1[t]==EOF) {user.s1[t]=0;break; }}for(t=0;t< 10;++t) {for(t2=0;t2< 100;++t2)putc(user.s2[t2][t],fp2); }}else /* 解密处理 */{ for(t=0;t< 10;++t)for(t2=0;t2< 100;++t2)user.s2[t2][t]=getc(fp1);for(t=0;t< 1000;++t)putc(user.s1[t],fp2);}fclose(fp2);fclose(fp1);}