在很多场C++需要对字符串数据进行加密,可以增加一定的安全系数,例如在网络传输的时候,防止抓包可以看到明文内容。
为此做了一个使用异或做了简单的加密方法,记录一下,代码如下:
#include <string>
#include <iostream>
using namespace std;
int key[] = { 1,2,3,4,5,6,7};
void encryption(string& c, int key[]) {
int len = c.size();
for (int i = 0; i < len; i++) {
c[i] = c[i] ^ key[i % 7];
}
}
void decode(string& c, int key[]) {
int len = c.size();
for (int i = 0; i < len; i++) {
c[i] = c[i] ^ key[i % 7];
}
}
int main(int argc, char* argv[]) {
std::string str = "hello world!";
std::cout << "原文:" << str << std::endl;
encryption(str, key);
std::cout << "加密后密文:" << str << std::endl;
decode(str, key);
std::cout << "解密后密文:" << str << std::endl;
return 0;
}