溫馨提示×

c++字符串加密算法怎么實現(xiàn)

c++
小億
157
2023-11-08 17:03:39
欄目: 編程語言

C++字符串加密算法可以使用一些常見的加密算法,例如Caesar(凱撒密碼)、Vigenère密碼等。下面是使用Caesar密碼實現(xiàn)字符串加密的示例代碼:

#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函數(shù)接受明文字符串和位移量作為參數(shù),返回加密后的密文字符串。對于每個字符,如果是字母,則根據(jù)字母的大小寫確定起始值(‘A’或’a’),然后將字符加上位移量,并取余26。最后,將每個字符連接到密文字符串中。在main函數(shù)中,我們示范了如何使用該函數(shù)進(jìn)行字符串加密。輸出結(jié)果為:

Ciphertext: Khoor, Zruog!

注意:這只是一個簡單的示例,實際上使用Caesar密碼是不安全的,因為它的加密過程是可逆的,并且易受到暴力破解的攻擊。在實際應(yīng)用中,需要使用更加強大和安全的加密算法。

0