c++英文字母替换加密(大小写转换+后移1位)
时间: 2024-10-11 20:11:48 浏览: 46
在C++中,字母替换加密通常涉及到简单的字符操作,如大小写转换(将大写字母转小写或将小写字母转大写)以及循环移位(每个字母向右移动一位)。这里有一个基本的例子,展示了如何使用ASCII码来实现这种加密:
```cpp
#include <iostream>
#include <cctype>
// 将字符后移一位
char shift(char c) {
if (isalpha(c)) { // 检查是否为字母
c = islower(c) ? static_cast<char>(c + 1) : // 如果是小写,则加1
'a' <= c && c <= 'z' ? c - ('z' - 'a' + 1) : // 对于大写,先减去'a',然后加上新的'A'
c; // 否则保持不变(非字母)
}
return c;
}
std::string encrypt(const std::string& plaintext) {
std::string ciphertext;
for (char c : plaintext) {
ciphertext += shift(c);
}
return ciphertext;
}
int main() {
std::string input = "Hello World!";
std::string encrypted = encrypt(input);
std::cout << "Encrypted: " << encrypted << '\n';
return 0;
}
```
在这个例子中,`shift`函数会接收一个字符,如果是字母就将其转换并后移一位。`encrypt`函数遍历输入字符串,对每个字符应用`shift`,生成密文。
阅读全文