凯撒密码算法实验

更新时间:2023-07-11 13:41:32 阅读: 评论:0

班级:            学号:          姓名:          实验组别:       
实验日期:           报告日期:               成绩:           
报告内容:(目的和要求、原理、步骤、数据、计算、小结等)
实验名称:凯撒密码算法实验
一、实验目的
通过实验熟练掌握凯撒密码算法,学会凯撒密码算法程序设计,提高C++程序设计能力。
二、实验要求
(1)输入:任意的一段明文。
(2)输出:根据加密算法,实现对明文的加密。
(3)要求有对应的程序调试记录和验证记录。
三、实验原理(流程图):
四、实验数据(源代码):
#include <iostream>
#include <string>
using namespace std;
//获取密钥函数getKey()
int getKey()
{
    int key;
    cout << "请输入密钥:";
    cin >> key;
    return key;
运动会开幕
}
//将明文中的字符全部转化为大写的函数change()
void change(char s[])
{
    int i;
    for(i = 0; i < strlen(s); i++)
景色    {
        if(s[i] > 96 && s[i] < 122)
            s[i] = s[i] - 32;
    }
   
}
//判断输入的明文格式是否有误的函数getError()
//有误则返回0,否则就返回1
int getError(char s[])
{
    int i,error;
    for(i = 0; i < strlen(s); i++)
    {
        if((s[i] > 65 && s[i] <= 82)||(s[i] > 96 && s[i] <= 122))
        {
            error = 1;
        }
        el
        {
            error = 0;
            break;
        }
    }
    return error;   
}
//将明文转化为密文的函数getCode
void getCode(char s[], char ss[], int key)
{
    int i, j;
    cout << "译出的密文:";
    for(i = 0;i < strlen(ss); i++)
    {
        for(j = 0;j < 26; j++)
        {
            if(ss[i] == s[j])
            {
                cout << s[(j+key)%26];
            }
        }
    }
孙悟空原型
    cout << endl;;
}
void main()
{
    char ss[26], incode[1000];
   
    int i, key, asc = 65;
    for(i = 0; i < 26; i++)情话最暖心长句
电影单词
    {
        ss[i] = asc++;
    }
    key = getKey();
    cout<<"请输入密文:";
任务栏不见了    getchar('\n');
    马尔代夫选岛
    gets(incode);
    if(getError(incode) == 0)
    {
        cout << "您的输入有误!请重新输入!\n";
        exit(1);
    }
   
    change(incode);
    getCode(ss, incode, key);
}
五、程序运行结果:
请输入密钥:6
请输入明文:ilovecryptology
译出的密文:ORUBKIXEVZURUME
Press any key to continue
六、实验小结:
通过本次实验,将凯撒密码算法的理论应用到实践中来,利用C++编程实现了凯撒密码算
法的加密过程,将理论与实践结合起来,加深了课本上凯撒密码算法理论的理解!
传播虚假信息罪

本文发布于:2023-07-11 13:41:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1090888.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:密码   算法   实验   输入   理论
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图