凯撒密码 C语言实现.pdf

凯撒密码 C语言实现.pdf

ID:53003235

大小:96.44 KB

页数:8页

时间:2020-04-10

凯撒密码  C语言实现.pdf_第1页
凯撒密码  C语言实现.pdf_第2页
凯撒密码  C语言实现.pdf_第3页
凯撒密码  C语言实现.pdf_第4页
凯撒密码  C语言实现.pdf_第5页
资源描述:

《凯撒密码 C语言实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、凯撒密码是一种非常古老的加密方法,相传当年凯撒大地行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。他的原理很简单,说到底就是字母于字母之间的替换。下面让我们看一个简单的例子:“baidu”用凯撒密码法加密后字符串变为“edlgx”,它的原理是什么呢?把“baidu”中的每一个字母按字母表顺序向后移3位,所得的结果就是刚才我们所看到的密文。/**凯撒密码实现要求,将明文字母变成它后面第三个字母,后面的循环到前面!公式为f(a)=(f(a)+3)%26*/#includeintmain(

2、){charP[100];/*定义明文长度*/charC[100];/*定义密文长度*/intK=3,i;printf("PleaseinputPlaintext:");/*输入明文*/gets(P);/*接受明文*/for(i=0;P[i]!='';i++){/*逐个判断字母的大小*/if(P[i]>='a'&&P[i]<='z')/*小写字母*/C[i]=(P[i]-'a'+K)%26+'a';elseif(P[i]>='A'&&P[i]<='Z')/*大写字母*/C[i]=(P[i]-'A'+K)%26+'A';elseC[i]='

3、';/*如果不是字母,转换为空格*/}printf("TheCiphertextis:%s",C);/*输出密文*/getch();return0;}1、程序结构化,用函数分别实现2、对文件的加密,解密输出到文件#include#includevoidmenu()/*菜单,1.加密2.解密3.退出*/{clrscr();printf("===============================================================================");p

4、rintf("1.Encryptthefile");printf("2.Decryptthefile");printf("3.Quit");printf("===============================================================================");printf("Pleaseselectaitem:");return;}charencrypt(charch,intn)/*加密函数,把字符向右循环移位n*/{while(ch>='A'&&ch<='Z'){r

5、eturn('A'+(ch-'A'+n)%26);}while(ch>='a'&&ch<='z'){return('a'+(ch-'a'+n)%26);}returnch;}main(){inti,n;charch0,ch1;FILE*in,*out;charinfile[10],outfile[10];textbackground(RED);textcolor(LIGHTGREEN);clrscr();menu();ch0=getch();while(ch0!='3'){if(ch0=='1'){clrscr();printf("Pleas

6、einputtheinfile:");scanf("%s",infile);/*输入需要加密的文件名*/if((in=fopen(infile,"r"))==NULL){printf("Cannotopentheinfile!");printf("Pressanykeytoexit!");getch();exit(0);}printf("Pleaseinputthekey:");scanf("%d",&n);/*输入加密密码*/printf("Pleaseinputtheoutfile:");scanf("%s",outfile);/*输

7、入加密后文件的文件名*/if((out=fopen(outfile,"w"))==NULL){printf("Cannotopentheoutfile!");printf("Pressanykeytoexit!");fclose(in);getch();exit(0);}while(!feof(in))/*加密*/{fputc(encrypt(fgetc(in),n),out);}printf("Encryptisover!");fclose(in);fclose(out);sleep(1);}if(ch0=='2'){clrsc

8、r();printf("Pleaseinputtheinfile:");scanf("%s",infile);/*输入需要解密的文件

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

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

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