凯撒加密算法C语言实现.doc_第1页
凯撒加密算法C语言实现.doc_第2页
凯撒加密算法C语言实现.doc_第3页
凯撒加密算法C语言实现.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

凯撒加密算法C语言实现#include#include char encrypt(char ch,int n)/*加密函数,把字符向右循环移位n*/while(ch=A&ch=a&ch=z)return (a+(ch-a+n)%26);return ch;void menu()/*菜单,1.加密,2.解密,3.暴力破解,密码只能是数字*/clrscr();printf(n=);printf(n1.Encrypt the file);printf(n2.Decrypt the file);printf(n3.Force decrypt file);printf(n4.Quitn);printf(=n);printf(Please select a item:);return;void logo()/*显示版权信息*/printf(nZhensoft Encryption Version:1.0.0);printf(nCopyright (C) 2004 Zhensoft Corp.n);printf(nn);return;main()int i,n;char ch0,ch1;FILE *in,*out;char infile20,outfile20;textbackground(BLACK);textcolor(LIGHTGREEN);clrscr();logo();sleep(3);/*等待3秒*/menu();ch0=getch();while(ch0!=4)if(ch0=1) clrscr(); printf(nPlease input the infile:); scanf(%s,infile);/*输入需要加密的文件名*/ if(in=fopen(infile,r)=NULL) printf(Can not open the infile!n);printf(Press any key to exit!n);getch();exit(0); printf(Please input the key:); scanf(%d,&n);/*输入加密密码*/ printf(Please input the outfile:); scanf(%s,outfile);/*输入加密后文件的文件名*/ if(out=fopen(outfile,w)=NULL) printf(Can not open the outfile!n);printf(Press any key to exit!n);fclose(in);getch();exit(0); while(!feof(in)/*加密*/ fputc(encrypt(fgetc(in),n),out); printf(nEncrypt is over!n); fclose(in); fclose(out); sleep(1);if(ch0=2) clrscr(); printf(nPlease input the infile:); scanf(%s,infile);/*输入需要解密的文件名*/if(in=fopen(infile,r)=NULL) printf(Can not open the infile!n);printf(Press any key to exit!n);getch();exit(0); printf(Please input the key:); scanf(%d,&n);/*输入解密密码(可以为加密时候的密码)*/ n=26-n; printf(Please input the outfile:); scanf(%s,outfile);/*输入解密后文件的文件名*/ if(out=fopen(outfile,w)=NULL) printf(Can not open the outfile!n);printf(Press any key to exit!n);fclose(in);getch();exit(0); while(!feof(in) fputc(encrypt(fgetc(in),n),out); printf(nDecrypt is over!n); fclose(in); fclose(out); sleep(1);if(ch0=3) clrscr(); printf(nPlease input the infile:); scanf(%s,infile);/*输入需要解密的文件名*/ if(in=fopen(infile,r)=NULL) printf(Can not open the infile!n);printf(Press any key to exit!n);getch();exit(0); printf(Please input the outfile:); scanf(%s,outfile);/*输入解密后文件的文件名*/ if(out=fopen(outfile,w)=NULL) printf(Can not open the outfile!n);printf(Press any key to exit!n);fclose(in);getch();exit(0); for(i=1;i=25;i+)/*暴力破解过程,在察看信息正确后,可以按Q或者q退出*/ rewind(in);rewind(out);clrscr();printf(=n);printf(The outfile is:n);printf(=n);while(!feof(in) ch1=encrypt(fgetc(in),26-i); putch(ch1); fputc(ch1,out);printf(n=n);printf(The current key is: %d n,i);/*显示当前破解所用密码*/printf(Press Q to quit and other key to continue.n);printf(=n);ch1=getch();if(ch1=q|ch1=Q)/*按Q或者q时退出*/ clrscr(); logo();printf(nGood Bye!n); fclose(in); fclose(out); sleep(3); exi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论