下面是一个使用C++编写的程序,用于实现凯撒密码加密。这段程序将用户输入的字符串按照凯撒密码的方式进行加密,默认向右移动3个位置。
#include <iostream>
#include <string>
// 函数声明:对单个字符进行凯撒密码加密
char caesarEncryptChar(char ch, int shift);
int main() {
std::string text;
std::cout << "Enter text: ";
std::getline(std::cin, text); // 获取整行输入,包括空格
std::cout << "Original text: " << text << std::endl; // 显示原始文本
// 对每个字符进行加密
for (int i = 0; i < text.length(); i++) {
text[i] = caesarEncryptChar(text[i], 3); // 此处默认向右移动3位
}
std::cout << "Encrypted text: " << text << std::endl; // 显示加密后的文本
return 0;
}
// 定义凯撒密码加密函数
char caesarEncryptChar(char ch, int shift) {
if (isalpha(ch)) { // 如果是字母
char base = islower(ch) ? 'a' : 'A';
ch = ((ch - base + shift) % 26) + base; // 移动和边界处理
}
return ch;
}
主函数:
std::getline
从用户获取输入,并存储在字符串 text
中。caesarEncryptChar
函数:
caesar_cipher.cpp
。g++ -o caesar_cipher caesar_cipher.cpp
./caesar_cipher
以上是用C++编写凯撒密码加密的完整方法,您可以按照上述步骤尝试运行和测试。