实现Caesar密码(加法密码)加解密

来源:互联网 发布:nba2kol坎普隐藏数据 编辑:程序博客网 时间:2024/05/29 09:33

1.加密过程的明文和密钥可以是任意按键输入的小写英文字母;解密过程的密文和密钥可以是任意按键输入的小写字母
2.给出.cpp文件源代码和加解密结果

#include<iostream>using namespace std;void main(){    int k;    char c;    int m,n;    char s[2];    int j=0;    cout<<"请输入您的选择\n加密单一字符请选1,解密单一字符请选2\n,加密字符串请选3,解密字符串请选4\n";    cin>>m;    switch(m){        case 1:            cout<<"请输入加密的字符c:\n";            cin>>c;                     cout<<"请输入密钥k:\n";            cin>>k;            cout<<"该字符加密为:\n";            c=c+k;            cout<<c<<endl;                      break;        case 2:            cout<<"请输入解密的字符c:\n";            cin>>c;                     cout<<"请输入密钥k:\n";            cin>>k;            cout<<"该字符加密为:\n";            c=c-k;            cout<<c<<endl;                      break;        case 3:            cout<<"请输入字符串长度:n"<<endl;            cin>>n;            cout<<"请输入加密的字符c\n";            for(j=0;j<n;j++){                cin>>s[j];      }                cout<<"请输入密钥k:\n";                cin>>k;                cout<<"该字符加密为:\n";                    for(j=0;j<n;j++){                        s[j]+=k;                        cout<<s[j];                    }                    cout<<"\n";            break;        case 4:            cout<<"请输入字符串长度:n"<<endl;            cin>>n;            cout<<"请输入解密的字符c:\n";            for(j=0;j<n;j++){                cin>>s[j];      }                cout<<"请输入密钥k:\n";                cin>>k;                cout<<"该字符解密为:\n";                    for(j=0;j<n;j++){                        s[j]+=k;                        cout<<s[j];                    }                    cout<<"\n";            break;        default:           cout<<"err";            break;    }   }

运行结果:
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

0 0