电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

实验一凯撒加密解密

实验一凯撒加密解密_第1页
1/40
实验一凯撒加密解密_第2页
2/40
实验一凯撒加密解密_第3页
3/40
计算机安全基础 上 机 实 验 报 告 学 院 年级 专 业 班 学 生 姓 名 学 生 学 号 实验一 凯撒加密解密 凯撒密码简介:恺撒密码的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动一个固定数目的位置。例如,当偏移量是左移3 的时候(解密时的密钥就是3 ): 明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ 密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC 使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。例如: 明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG 密文:WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ 源代码: #include "kaisa.h" using namespace std; void Kaisa::setI() { cout << "\n 请输入加密密码:"; cin >> i; } void Kaisa::jiami() { char a, b, c; cout << "\n 请输入明文:\t"; cin >> a; b = char('z' - i%26); c = char('Z' - i%26); cout << "\n 密文是:\t"; while(a != '\n') { if((a <= 'z' && a >= 'a') || ( a <= 'Z' && a >='A')) { if((a <= b && a >= 'a') || ( a <= c && a >='A')) cout << char(a + i%26); if(a > c && a <= 'Z') cout << char(a + i%26 - 26); if(a > b && a <= 'z') cout << char(a + i%26 - 26); if(a == ' ') cout << " "; } else cout << a; a = cin.get(); } cout << endl; } void Kaisa::setX() { cout << "\n 请输入解密密码:"; cin >> i; } void Kaisa::jiemi() { char a, b, c; cout << "\n 请输入密文:\t"; cin >> a; b = char('a' + i%26); c = char('A' + i%26); cout << "\n 明文是:\t"; while(a != '\n') { if((a <= 'z' && a >= 'a') || ( a <= 'Z' && a >='A')) { if((a <= 'z' && a >= b) || ( a <= 'Z' && a >= c)) cout << char(a - i%26); if(a >= 'a' && a < b) cout << char(a - i%26 + 26); if(a >= 'A' && a < c) cout << char(a - i%26 + 26); if(a == ' ') cout << " "; } else cout <...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

实验一凯撒加密解密

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部