欢迎来到天天文库
浏览记录
ID:57439312
大小:49.25 KB
页数:10页
时间:2020-08-16
《密钥短语密码实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、置换密码的实验报告一、实验目的通过实验熟练掌握置换密码算法,学会置换密码算法程序设计。二、实验环境软件工具:VisualC++6.0操作系统:windowsxp三、实验思想下面是密钥短语密码的实现步骤:1.选择密钥并删除重复字母.2.在明文的字母表下方从左往右写下处理的后的密钥,然后再写剩余的字母即得密文字母表.四、实验数据(源代码)#include#include#includeusingnamespacestd;/*加密流程:1.输入明文2.用户输入密码句子;3.由密码句子产生代换字符表4.产生密文解密流程
2、:1.输入密文2.用户输入密码句子;3.产生代换字符表4.产生明文*/#defineMING_WEN1000//设明文长度最大为1000charmingwen[MING_WEN];//存放明文charmiwen[MING_WEN];//存放密文charmiyuejvzi[100];//密钥句子charalphabeta[27];//代换字母表stringstr="abcdefghijklmnopqrstuvwxyz";voidgenerate_alphabeta();//产生代换字符表voidgenerate_miwen();//产生密文voidgenerate_mi
3、ngwen();//产生明文intmain(){intchoice;cout<<"古典密码之置换密码."<>choice;cin.clear();cin.sync();if(choice==1){cout<<"请输入你想加密的字符串(请不要超出"<4、<5、nerate_alphabeta()//产生代换字符表{inti,j;cout<<"请输入密钥句子,至少为1个字符,最多100个字符,且第一个字符必须是小写字母:"<6、i[0];//填充第0个位置for(i=1;i7、endl;*/for(i=0;i<26;i++)//把英文字母表中还没有出现在代换字母表中的字母存入代换字母表{tag=1;for(j=0;j<=pos;j++){if(alphabeta[j]==str[i])//alphabet表中已经存在英文字母表中的第i个字母{tag=0;break;}}if(tag==1)alphabeta[++pos]=str[i];}cout<<"原始字母表为"<
4、<5、nerate_alphabeta()//产生代换字符表{inti,j;cout<<"请输入密钥句子,至少为1个字符,最多100个字符,且第一个字符必须是小写字母:"<6、i[0];//填充第0个位置for(i=1;i7、endl;*/for(i=0;i<26;i++)//把英文字母表中还没有出现在代换字母表中的字母存入代换字母表{tag=1;for(j=0;j<=pos;j++){if(alphabeta[j]==str[i])//alphabet表中已经存在英文字母表中的第i个字母{tag=0;break;}}if(tag==1)alphabeta[++pos]=str[i];}cout<<"原始字母表为"<
5、nerate_alphabeta()//产生代换字符表{inti,j;cout<<"请输入密钥句子,至少为1个字符,最多100个字符,且第一个字符必须是小写字母:"<6、i[0];//填充第0个位置for(i=1;i7、endl;*/for(i=0;i<26;i++)//把英文字母表中还没有出现在代换字母表中的字母存入代换字母表{tag=1;for(j=0;j<=pos;j++){if(alphabeta[j]==str[i])//alphabet表中已经存在英文字母表中的第i个字母{tag=0;break;}}if(tag==1)alphabeta[++pos]=str[i];}cout<<"原始字母表为"<
6、i[0];//填充第0个位置for(i=1;i7、endl;*/for(i=0;i<26;i++)//把英文字母表中还没有出现在代换字母表中的字母存入代换字母表{tag=1;for(j=0;j<=pos;j++){if(alphabeta[j]==str[i])//alphabet表中已经存在英文字母表中的第i个字母{tag=0;break;}}if(tag==1)alphabeta[++pos]=str[i];}cout<<"原始字母表为"<
7、endl;*/for(i=0;i<26;i++)//把英文字母表中还没有出现在代换字母表中的字母存入代换字母表{tag=1;for(j=0;j<=pos;j++){if(alphabeta[j]==str[i])//alphabet表中已经存在英文字母表中的第i个字母{tag=0;break;}}if(tag==1)alphabeta[++pos]=str[i];}cout<<"原始字母表为"<
此文档下载收益归作者所有