C++实现的 原理过于简单 不作解释
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
string Caesarencrypt(string s, int key){//凯撒加密
key = (key + 26) % 26;
for(int i = 0; i < s.size(); i++){
if(s[i] == ' ')continue;
else if(islower(s[i]))
s[i] = (s[i] - 'a' + key) % 26 + 'a';
else if(isupper(s[i]))
s[i] = (s[i] - 'A' + key) % 26 + 'A';
}
return s;
}
string Caesardecipher(string s, int key){//凯撒解密
return Caesarencrypt(s,26 - key);
}
int main(){
string s;
int key;//密钥key
cin>>key;
cin.get();
getline(cin,s);
cout<<Caesarencrypt(s,key)<<endl;//加密验证
cout<<Caesardecipher(Caesarencrypt(s,key),key);//解密验证
return 0;
}