数据文件加密算法--换位加密法
数据文件加密算法--换位加密法
#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);
}