写一个caesar加密c++
时间: 2023-07-30 15:09:38 浏览: 42
以下是一个简单的Caesar加密实现的C++代码:
```c++
#include <iostream>
#include <string>
using namespace std;
string caesarEncrypt(string plainText, int key) {
string cipherText = "";
for (int i = 0; i < plainText.length(); i++) {
if (isalpha(plainText[i])) {
char shiftedChar = toupper(plainText[i]) + key;
if (shiftedChar > 'Z')
shiftedChar -= 26;
cipherText += shiftedChar;
} else {
cipherText += plainText[i];
}
}
return cipherText;
}
int main() {
string plainText, cipherText;
int key;
cout << "Enter the plain text: ";
getline(cin, plainText);
cout << "Enter the key: ";
cin >> key;
cipherText = caesarEncrypt(plainText, key);
cout << "The encrypted text is: " << cipherText << endl;
return 0;
}
```
在这个实现中,我们首先定义了一个名为`caesarEncrypt`的函数。该函数接受两个参数,一个是要加密的明文字符串,另一个是加密密钥。函数返回加密后的密文字符串。
在`caesarEncrypt`函数中,我们使用了一个循环来遍历明文字符串中的每个字符。如果字符是一个字母,我们将其转换为大写字母,并将密钥加到该字符上。如果加密后的字符超出了字母表的范围,我们将其减去26以保持在字母表中。最后,我们将加密后的字符添加到密文字符串中。
在`main`函数中,我们获取要加密的明文和加密密钥。然后,我们调用`caesarEncrypt`函数并将明文和密钥作为参数传递。最后,我们输出加密后的密文字符串。
需要注意的是,这个实现只能对纯字母的明文进行加密。如果明文包含其他字符,如数字或标点符号,它们将被保留在加密后的字符串中而不进行加密。