凯撒密码加密:C++ 实现字母替换加密
凯撒密码加密:C++ 实现字母替换加密
凯撒密码是一种简单的替换密码,它通过将字母表中的每个字母替换为它后面第 i 个字母来加密文本。例如,如果 i 为 1,则 A 将被替换为 B,B 将被替换为 C,依此类推,Z 将被替换为 A。
C++ 实现
以下是一个使用 C++ 实现凯撒密码加密的程序:
#include <iostream>
#include <string>
using namespace std;
string caesarCipher(string input) {
string encrypted = '';
for (int i = 0; i < input.length(); i++) {
if (isalpha(input[i])) {
char encryptedChar = input[i] + 1;
if (encryptedChar > 'z') {
encryptedChar = 'a';
}
encrypted += encryptedChar;
} else {
encrypted += input[i];
}
}
return encrypted;
}
int main() {
string input;
cout << '请输入一段英文字符:';
getline(cin, input);
string encrypted = caesarCipher(input);
cout << '加密后的字符:' << encrypted << endl;
return 0;
}
程序解释
-
caesarCipher(string input)函数:- 接受一个字符串作为输入。
- 遍历字符串中的每个字符。
- 如果字符是字母,则将其替换为字母表中后面的第一个字母,并将其添加到加密字符串中。
- 如果字符不是字母,则直接将其添加到加密字符串中。
- 返回加密后的字符串。
-
main()函数:- 提示用户输入一段英文字符。
- 调用
caesarCipher()函数对输入的字符串进行加密。 - 打印加密后的字符串。
总结
这个程序演示了如何使用 C++ 实现简单的凯撒密码加密。凯撒密码虽然简单,但也展示了密码学的基本概念。学习和理解凯撒密码可以帮助你更好地理解更复杂的密码学算法。
原文地址: https://www.cveoy.top/t/topic/p8wb 著作权归作者所有。请勿转载和采集!