嗨,鱼油!凯撒密码是一种简单的替换加密方法。下面是一个用C++实现凯撒密码的示例。这个程序可以对字符串进行加密和解密操作。
#include <iostream>
#include <string>
using namespace std;
// 加密函数
string encrypt(string text, int s) {
string result = "";
for (int i = 0; i < text.length(); i++) {
if (isupper(text[i])) {
result += char(int(text[i] + s - 65) % 26 + 65);
} else {
result += char(int(text[i] + s - 97) % 26 + 97);
}
}
return result;
}
// 解密函数
string decrypt(string text, int s) {
return encrypt(text, 26 - s);
}
int main() {
string text;
int shift;
cout << "输入要加密的文本: ";
getline(cin, text);
cout << "输入偏移量: ";
cin >> shift;
string encryptedText = encrypt(text, shift);
cout << "加密后的文本: " << encryptedText << endl;
string decryptedText = decrypt(encryptedText, shift);
cout << "解密后的文本: " << decryptedText << endl;
return 0;
}
这个程序包括以下几个部分:
1. `encrypt` 函数:对文本进行加密。根据字符的大小写来计算新的字符位置。
2. `decrypt` 函数:通过将偏移量`s`变为`26-s`来实现解密。
3. `main` 函数:接受用户输入的文本和偏移量,并展示加密和解密后的结果。
希望这个示例能帮助你理解凯撒密码在C++中的实现!如果有任何问题,请随时问我哦!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |