实现Caesar密码(加法密码)加解密
2016-01-14 23:43
295 查看
1. 加密过程的明文和密钥可以是任意按键输入的小写英文字母;解密过程的密文和密钥可以是任意按键输入的小写字母
程序:
#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;
}
}
程序:
#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;
}
}
相关文章推荐
- IAAS 云平台 Apache CloudStack 2016 年展望
- 实时日志刷新
- linux 的date命令及系统时间设置
- 使用 Boost 的 IPC 和 MPI 库进行并发编程
- 嵌入式驱动开发流程
- linux下手动build spark1.6.0
- 学习小记--Linux内核通知链
- javabean
- js-DOM,DOM扩展
- Yii2-国际化A
- 比nerdtree更好的文件浏览器:vimfiler
- Android退出应用最优雅的方式
- 支持APP手机应用(android和ios)接口调用 传输验证可用 shiro 的 MD5、SHA 等加密
- oc 子类调用父类的私有方法
- 1. max31855 热电偶至输出转换器 分析
- 学习第三天——IT之路,坚定的走下去
- 求矩形并的面积(线段树)【模板】
- Ubuntu 下Pycharm快捷方式创建最简单办法 以及安装好了Pycharm但是通过快捷方式启动提示JDK找不到的解决办法
- linux下安装软件
- ARM Linux内核驱动异常定位方法分析--反汇编方式