凯撒密码加密: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;
}

程序解释

  1. caesarCipher(string input) 函数:

    • 接受一个字符串作为输入。
    • 遍历字符串中的每个字符。
    • 如果字符是字母,则将其替换为字母表中后面的第一个字母,并将其添加到加密字符串中。
    • 如果字符不是字母,则直接将其添加到加密字符串中。
    • 返回加密后的字符串。
  2. main() 函数:

    • 提示用户输入一段英文字符。
    • 调用 caesarCipher() 函数对输入的字符串进行加密。
    • 打印加密后的字符串。

总结

这个程序演示了如何使用 C++ 实现简单的凯撒密码加密。凯撒密码虽然简单,但也展示了密码学的基本概念。学习和理解凯撒密码可以帮助你更好地理解更复杂的密码学算法。


原文地址: https://www.cveoy.top/t/topic/p8wb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录