欢迎来到天天文库
浏览记录
ID:42688197
大小:81.50 KB
页数:3页
时间:2019-09-19
《编写Vigenere加密解密算法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、集美大学计算机工程学院实验报告课程名称:现代密码学班级:实验成绩:指导教师:姓名:实验项目名称:Vigenere算法学号:上机实践日期:实验项目编号:组号:上机实践时间:2学时一、实验目的编写Vigenere加密解密算法,并测试。二、实验内容与设计思想#include"iostream"usingnamespacestd;#defineMINCHAR97#defineCHARSUM26chartable[CHARSUM][CHARSUM];boolInit();boolEncode(char*key,char*source,char*dest);boolDncode(c
2、har*key,char*source,char*dest);intmain(){if(!Init()){cout<<"初始化错误!"<>operation;}while(operation!=-1&&operation!=1&&operation!=2);if(operation==-1)return0;elseif(operation
3、==1)//加密{cout<<"请输入密钥:";cin>>key;cout<<"请输入待加密字符串:";cin>>str1;Encode(key,str1,str2);cout<<"加密后的字符串:"<>key;cout<<"请输入待解密字符串:";cin>>str1;Dncode(key,str1,str2);cout<<"解密后的字符串:"<4、nti,j;for(i=0;i5、urce)-MINCHAR];tempDest++;if(!(*(++tempKey)))tempKey=key;}while(*tempSource++);dest[strlen(source)]=0;returntrue;}//解密//key:密钥//source:待解密的字符串//dest:经过解密后的字符串boolDncode(char*key,char*source,char*dest){char*tempSource=source;char*tempKey=key;char*tempDest=dest;charoffset;do{offset=(*tempS6、ource)-(*tempKey);offset=offset>=0?offset:offset+CHARSUM;*tempDest=MINCHAR+offset;tempDest++;if(!(*(++tempKey)))tempKey=key;}while(*++tempSource);dest[strlen(source)]=0;returntrue;}三、实验使用环境操作系统:MicrosoftWindows7编程环境:VisualC++6.0四、实验步骤和调试过程五、实验小结1.实验过程中发现加密时不能使用大写字母。六、附录《现代密码学教程》
4、nti,j;for(i=0;i5、urce)-MINCHAR];tempDest++;if(!(*(++tempKey)))tempKey=key;}while(*tempSource++);dest[strlen(source)]=0;returntrue;}//解密//key:密钥//source:待解密的字符串//dest:经过解密后的字符串boolDncode(char*key,char*source,char*dest){char*tempSource=source;char*tempKey=key;char*tempDest=dest;charoffset;do{offset=(*tempS6、ource)-(*tempKey);offset=offset>=0?offset:offset+CHARSUM;*tempDest=MINCHAR+offset;tempDest++;if(!(*(++tempKey)))tempKey=key;}while(*++tempSource);dest[strlen(source)]=0;returntrue;}三、实验使用环境操作系统:MicrosoftWindows7编程环境:VisualC++6.0四、实验步骤和调试过程五、实验小结1.实验过程中发现加密时不能使用大写字母。六、附录《现代密码学教程》
5、urce)-MINCHAR];tempDest++;if(!(*(++tempKey)))tempKey=key;}while(*tempSource++);dest[strlen(source)]=0;returntrue;}//解密//key:密钥//source:待解密的字符串//dest:经过解密后的字符串boolDncode(char*key,char*source,char*dest){char*tempSource=source;char*tempKey=key;char*tempDest=dest;charoffset;do{offset=(*tempS
6、ource)-(*tempKey);offset=offset>=0?offset:offset+CHARSUM;*tempDest=MINCHAR+offset;tempDest++;if(!(*(++tempKey)))tempKey=key;}while(*++tempSource);dest[strlen(source)]=0;returntrue;}三、实验使用环境操作系统:MicrosoftWindows7编程环境:VisualC++6.0四、实验步骤和调试过程五、实验小结1.实验过程中发现加密时不能使用大写字母。六、附录《现代密码学教程》
此文档下载收益归作者所有