c++凯撒密码string
时间: 2024-10-09 12:08:32 浏览: 58
凯撒密码C++的实现
凯撒密码是一种简单的替换加密技术,常用于教学中演示密码学基本概念。在C++中,如果你想要对字符串进行凯撒密码处理,你可以创建一个函数,通过将字母按照固定的偏移量向右移动(例如,每个字母向后移动三个位置)来加密或解密文本。
以下是实现凯撒密码的一个简单示例:
```cpp
#include <iostream>
#include <string>
std::string caesar_cipher(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 = 3; // 加密偏移量
std::cout << "Original text: " << input << std::endl;
std::cout << "Encrypted with Caesar cipher (shift=" << shift << "): "
<< caesar_cipher(input, shift) << std::endl;
return 0;
}
```
在这个例子中,`caesar_cipher`函数接受一个明文字符串和一个偏移量作为输入,然后返回经过凯撒密码加密后的密文。
阅读全文