C++凯撒加密
时间: 2023-07-13 21:06:06 浏览: 196
凯撒密码C++
5星 · 资源好评率100%
C++实现凯撒加密的过程如下:
1. 首先定义一个字符串变量,存储需要加密的明文。
2. 确定加密的偏移量,即将明文中每个字符的ASCII码值向后移动多少位。
3. 将明文中的每个字符按照偏移量进行移动,得到密文。
4. 输出密文。
下面是示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
string caesarCipher(string plaintext, int offset) {
string ciphertext = "";
for (int i = 0; i < plaintext.length(); i++) {
if (isalpha(plaintext[i])) {
if (isupper(plaintext[i])) {
ciphertext += char(int(plaintext[i] + offset - 65) % 26 + 65);
}
else {
ciphertext += char(int(plaintext[i] + offset - 97) % 26 + 97);
}
}
else {
ciphertext += plaintext[i];
}
}
return ciphertext;
}
int main() {
string plaintext = "hello world";
int offset = 3;
string ciphertext = caesarCipher(plaintext, offset);
cout << "Plaintext: " << plaintext << endl;
cout << "Ciphertext: " << ciphertext << endl;
return 0;
}
```
在上面的代码中,`caesarCipher()`函数接受两个参数,分别是需要加密的明文和偏移量。该函数返回加密后的密文。在该函数中,首先遍历明文中的每个字符,如果该字符是字母,则进行加密;否则,直接将该字符添加到密文中。对于字母的加密,需要分别处理大写字母和小写字母,具体过程是将其ASCII码值向后移动偏移量个位置,并将结果转换为对应的字符。最后,将加密后的密文返回。
在`main()`函数中,我们定义了明文和偏移量,然后调用`caesarCipher()`函数进行加密,并输出加密后的密文。
阅读全文