c++定义异或加密类
时间: 2023-07-05 18:03:56 浏览: 53
以下是一个简单的C++异或加密类的定义,它可以对字符串进行加密和解密:
```c++
#include <string>
#include <iostream>
class XorEncryptor {
public:
XorEncryptor(char key) : _key(key) {}
std::string encrypt(const std::string& data) {
std::string result;
for (char c : data) {
result += c ^ _key;
}
return result;
}
std::string decrypt(const std::string& data) {
return encrypt(data); // 异或加密解密方式相同
}
private:
char _key;
};
int main() {
XorEncryptor encryptor('a');
std::string original = "Hello World!";
std::string encrypted = encryptor.encrypt(original);
std::string decrypted = encryptor.decrypt(encrypted);
std::cout << "Original: " << original << std::endl;
std::cout << "Encrypted: " << encrypted << std::endl;
std::cout << "Decrypted: " << decrypted << std::endl;
return 0;
}
```
在上面的代码中,我们定义了一个名为`XorEncryptor`的类,它有一个公共构造函数,用于传递加密密钥。该类还提供了两个公共函数:`encrypt()`和`decrypt()`,它们分别用于加密和解密数据。加密和解密过程都是通过对每个字符进行异或运算来实现的。
在`main()`函数中,我们创建了一个`XorEncryptor`对象,并使用它来加密和解密一个字符串。运行上面的代码,将会输出以下结果:
```
Original: Hello World!
Encrypted: ^_aa`T^`T`aaY
Decrypted: Hello World!
```
这里我们使用字符`'a'`作为加密密钥,你可以根据自己的需要更改。