c++实现凯撒密码加密
时间: 2024-05-19 14:09:08 浏览: 107
凯撒密码是一种简单的加密算法,它的实现非常容易。其基本思想是将明文中的每个字母都按照字母表顺序向后移动固定的位数,从而得到密文。在C++中实现凯撒密码加密,可以按照以下步骤进行:
1. 将明文字符串转换为char类型数组,方便处理每一个字符。
2. 遍历数组中的每一个字符,对其进行加密。加密方式是将字符转换为ASCII码值,然后加上固定的位移量,再将结果转换回字符形式。
3. 将加密后的字符组成一个新的字符串作为密文输出。
下面是一个简单的C++代码示例:
```
#include <iostream>
#include <string>
using namespace std;
string caesarEncrypt(string plaintext, int shift)
{
string ciphertext = "";
for (int i = 0; i < plaintext.length(); i++)
{
char c = plaintext[i];
if (isalpha(c))
{
c = toupper(c);
c = ((c - 65 + shift) % 26) + 65;
}
ciphertext += c;
}
return ciphertext;
}
int main()
{
string plaintext;
int shift;
cout << "请输入明文字符串:";
getline(cin, plaintext);
cout << "请输入位移量:";
cin >> shift;
string ciphertext = caesarEncrypt(plaintext, shift);
cout << "加密后的密文是:" << ciphertext << endl;
return 0;
}
```
阅读全文