c++ 字符串加密代码
时间: 2023-08-06 13:16:31 浏览: 163
字符串加密是指将一个字符串按照某种规则进行加密,使得加密后的字符串能够更好地保护数据安全。以下是一个简单的 C++ 字符串加密代码,通过将字符串中的每个字符进行移位操作来实现加密:
```c++
#include <iostream>
#include <string>
using namespace std;
string encrypt(string str, int key) {
string res = "";
for (char c : str) {
if (isalpha(c)) {
char base = isupper(c) ? 'A' : 'a';
res += (c - base + key) % 26 + base;
} else {
res += c;
}
}
return res;
}
int main() {
string str;
int key;
cout << "Please input the string you want to encrypt: ";
getline(cin, str);
cout << "Please input the encryption key: ";
cin >> key;
string res = encrypt(str, key);
cout << "The encrypted string is: " << res << endl;
return 0;
}
```
在 `encrypt()` 函数中,我们首先遍历输入字符串 `str` 中的每个字符,如果该字符是字母,则将其转换为大写或小写,并计算其移位后的字符。具体来说,我们先计算出当前字符所在的字母表中的位置 `pos`,然后加上移位量 `key` 得到新的位置 `new_pos`,最后将其转换为对应的字符并加入结果字符串 `res` 中。如果该字符不是字母,则直接加入结果字符串中。在计算位置时,我们使用了 ASCII 码表中字母的顺序,即大写字母从 `65` 开始,小写字母从 `97` 开始,因此需要根据当前字符是否为大写字母来选择对应的基准值。
希望对您有所帮助!
阅读全文