蔑视人间的小橘喵
2021-03-24 00:21
采纳率: 100%
浏览 344

如何用C语言实现凯撒密码对文本文件(.txt)的读取穷举暴力破解?

用C语言实现对文本文件中凯撒密码穷举破解 并把26次结果 输出为二十六个文本文件(.txt)

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

  • 琐琐闻 2021-03-25 00:23
    最佳回答

     将输入数据放于"read.txt"文件中,编译运行程序即可。

    #include<stdio.h>
    
    int main(void){
    	FILE *fp=NULL;
    	char c[200000],x;
    	int i=0,n=0,j=0;
    	
    	fp=fopen("read.txt","r"); //读取txt文件数据 
    	while((x=fgetc(fp))!=EOF){
    		c[i]=x;
    		i++;
    	}
    	n=i;
    	c[n]='\0';
    	fclose(fp);
    	
    	char f[20]="write00.txt";
    	for(i=1;i<=26;i++){
    		if(f[6]=='9'){  //将输出文件从01至26排序 
    			f[6]='0';
    			f[5]++;
    		}
    		else
    			f[6]++;
    	
    		for(j=0;j<n;j++){  //进行暴力破解,一次将所有字母往后移动一位 
    			if(c[j]>='a'&&c[j]<'z')
    				c[j]+=1;
    			else if(c[j]=='z')
    				c[j]='a';
    			if(c[j]>='A'&&c[j]<'Z')
    				c[j]+=1;
    			else if(c[j]=='Z')
    				c[j]='A';
    		}
    		
    		fp=fopen(f,"w");//输出文件 
    		fputs(c,fp);
    		fclose(fp);
    	}
    	return 0;
    }
    评论
    解决 1 无用 3
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题