编写程序,实现凯撒密码的加密。
时间: 2024-11-27 07:23:18 浏览: 6
python实现凯撒密码加密解密
5星 · 资源好评率100%
凯撒密码(Caesar Cipher)是最简单的替换式加密技术之一,它通过把字母表中的每个字母按照固定数量的位置向后移动来达到加密目的。例如,如果你选择移动3位,那么 'A' 变成 'D', 'B' 变成 'E', 等等。
以下是一个简单的C++程序,实现了凯撒密码的加密功能:
```cpp
#include <iostream>
#include <string>
std::string caesar_cipher_encrypt(const std::string& plaintext, int shift) {
std::string ciphertext;
for (char c : plaintext) {
if ('A' <= c && c <= 'Z') { // 处理大写字母
ciphertext += static_cast<char>((c - 'A' + shift) % 26 + 'A');
} else if ('a' <= c && c <= 'z') { // 处理小写字母
ciphertext += static_cast<char>((c - 'a' + shift) % 26 + 'a');
} else { // 非字母字符不变
ciphertext += c;
}
}
return ciphertext;
}
int main() {
std::string input = "Hello, World!";
int shift_amount = 3; // 加密偏移量
std::string encrypted = caesar_cipher_encrypt(input, shift_amount);
std::cout << "Original text: " << input << "\n";
std::cout << "Encrypted text: " << encrypted << "\n";
return 0;
}
```
在这个程序中,`caesar_cipher_encrypt` 函数接受明文字符串和偏移量作为参数,然后遍历每个字符,根据字符是否为字母进行相应的加密处理。非字母字符保持原样。
如果你想了解如何解密,只需将加密过程反过来,即把每个字母向前移动相同的位数即可。如果你有其他问题或需要进一步的解释,请告诉我。
阅读全文