凯撒密码解密源代码

凯撒密码解密源代码

ID:39086895

大小:17.96 KB

页数:3页

时间:2019-06-24

凯撒密码解密源代码_第1页
凯撒密码解密源代码_第2页
凯撒密码解密源代码_第3页
资源描述:

《凯撒密码解密源代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include#include#includeusingnamespacestd;voidmain(intargc,char*argv[]){FILE*fp_ciper,*fp_plain;//密文与明文的文件指针charch_ciper,ch_plain;inti,temp=0;//i用来存储最多次数出现的下标//temp用在求最多次数时用intkey;intj;intnum[26];//保存密文中字母出现次数for(i=0;i<26;i++){cout<<"=====================

2、============"<

3、getc(fp_ciper))!=EOF)//EOF=EndOfFile定义:constintEOF=-1;{switch(ch_ciper)//统计密文各字母出现的次数{case'A':num[0]=num[0]+1;break;case'B':num[1]=num[1]+1;break;case'C':num[2]=num[2]+1;break;case'D':num[3]=num[3]+1;break;case'E':num[4]=num[4]+1;break;case'F':num[5]=num[5]+1;break;case'G':num[6]=num

4、[6]+1;break;case'H':num[7]=num[7]+1;break;case'I':num[8]=num[8]+1;break;case'J':num[9]=num[9]+1;break;case'K':num[10]=num[10]+1;break;case'L':num[11]=num[11]+1;break;case'M':num[12]=num[12]+1;break;case'N':num[13]=num[13]+1;break;case'O':num[14]=num[14]+1;break;case'P':num[15]=num[15

5、]+1;break;case'Q':num[16]=num[16]+1;break;case'R':num[17]=num[17]+1;break;case'S':num[18]=num[18]+1;break;case'T':num[19]=num[19]+1;break;case'U':num[20]=num[20]+1;break;case'V':num[21]=num[21]+1;break;case'W':num[22]=num[22]+1;break;case'X':num[23]=num[23]+1;break;case'Y':num[24]=nu

6、m[24]+1;break;case'Z':num[25]=num[25]+1;break;}fclose(fp_ciper);for(i=0;i<26;i++){if(num[i]>temp){i=j;//求出最大次数的下标temp=num[i];}}if(j<5)key=(j+1+26)-5;//是按照字母表的第几位计算,而不是按下标,//故加1,5是指E在字母表中的位置else{key=(j+1)-5;}if((fp_ciper=fopen(argv[1],"r"))==NULL){cout<<"再次打开密文出错!解密失败"<

7、//再次打开密文,进行解密if((fp_plain=fopen(argv[2],"W"))==NULL){cout<<"打开或建立明文文件出错!解密失败"<'E')ch_plain=(((ch_ciper-'A'-key)%26)+'A');//解密elsech_plain=(((ch_ciper-'A'-key+26)%26)+'A');ch_plain=tolower(ch_plain);//把大写明文转

8、换为小写fputc(ch

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。