C++实现密码换位加密,明文,密文
时间: 2024-10-25 18:09:53 浏览: 24
C++可以使用简单的字符数组操作来实现密码的换位加密。这种加密方法不是真正的安全加密算法,但它可以帮助初学者理解基本的加密过程。以下是通过将每个字符向后移动固定位置实现的简单例子:
```cpp
#include <iostream>
#include <string>
// 定义一个函数用于移位加密
std::string shiftEncrypt(const std::string& plaintext, int shift) {
std::string ciphertext = "";
for (char c : plaintext) {
// 将大写字母向下移位(A->Z变为B->AA)
if ('A' <= c && c <= 'Z')
ciphertext += static_cast<char>((c - 'A' + shift) % 26 + 'A');
// 将小写字母向下移位(a->z变为b->aa)
else if ('a' <= c && c <= 'z')
ciphertext += static_cast<char>((c - 'a' + shift) % 26 + 'a');
// 其他字符不变
else
ciphertext += c;
}
return ciphertext;
}
int main() {
std::string plaintext = "Hello, World!";
int shift = 3; // 移位值,可以根据需要调整
std::string ciphertext = shiftEncrypt(plaintext, shift);
std::cout << "Original text: " << plaintext << "\n";
std::cout << "Encrypted text: " << ciphertext << "\n";
return 0;
}
```
在这个例子中,`shiftEncrypt` 函数接收一个明文字符串和一个整数移位量。它遍历字符串中的每个字符,如果字符是字母,则按照ASCII码表将其向后移动指定的位置。非字母字符保持原样。
阅读全文