如何进行简单加密(字母后移三位)
时间: 2024-10-02 13:03:34 浏览: 27
在C++中,你可以使用数组或字符映射的方式来实现简单的字母后移三位加密。这里我们创建一个简单的替换模式,对于小写字母A到Z,我们将它们后移三位,对于大写字母,同样处理,但保持大小写不变。对于非字母字符,我们可以直接保留原样。
以下是一个简单的示例代码:
```cpp
#include <iostream>
#include <string>
// 字符加密/解密函数
char encrypt_char(char c) {
if (c >= 'a' && c <= 'z') {
return static_cast<char>((c - 'a' + 3) % 26 + 'a');
} else if (c >= 'A' && c <= 'Z') {
return static_cast<char>((c - 'A' + 3) % 26 + 'A');
} else {
// 非字母字符不做处理,直接返回
return c;
}
}
std::string encrypt_string(const std::string& plaintext) {
std::string ciphertext = plaintext;
for (size_t i = 0; i < ciphertext.length(); ++i) {
ciphertext[i] = encrypt_char(ciphertext[i]);
}
return ciphertext;
}
int main() {
std::string original_text = "Hello, World!";
std::string encrypted_text = encrypt_string(original_text);
std::cout << "Original text: " << original_text << "\n";
std::cout << "Encrypted text: " << encrypted_text << "\n";
return 0;
}
```
在这个例子中,`encrypt_char`函数负责单个字符的加密,`encrypt_string`则遍历整个字符串并调用`encrypt_char`对每个字符进行处理。
阅读全文