c++

c++字符串加密算法怎么实现

小亿
156
2023-11-08 17:03:39
栏目: 编程语言

C++字符串加密算法可以使用一些常见的加密算法,例如Caesar(凯撒密码)、Vigenère密码等。下面是使用Caesar密码实现字符串加密的示例代码:

#include <iostream>
#include <string>

std::string encryptCaesar(const std::string& plaintext, int shift) {
    std::string ciphertext = "";
    for (char c : plaintext) {
        if (isalpha(c)) {
            char start = isupper(c) ? 'A' : 'a';
            c = (c - start + shift) % 26 + start;
        }
        ciphertext += c;
    }
    return ciphertext;
}

int main() {
    std::string plaintext = "Hello, World!";
    int shift = 3;
    std::string ciphertext = encryptCaesar(plaintext, shift);
    std::cout << "Ciphertext: " << ciphertext << std::endl;
    return 0;
}

在上述代码中,encryptCaesar函数接受明文字符串和位移量作为参数,返回加密后的密文字符串。对于每个字符,如果是字母,则根据字母的大小写确定起始值(‘A’或’a’),然后将字符加上位移量,并取余26。最后,将每个字符连接到密文字符串中。在main函数中,我们示范了如何使用该函数进行字符串加密。输出结果为:

Ciphertext: Khoor, Zruog!

注意:这只是一个简单的示例,实际上使用Caesar密码是不安全的,因为它的加密过程是可逆的,并且易受到暴力破解的攻击。在实际应用中,需要使用更加强大和安全的加密算法。

0
看了该问题的人还看了