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密碼是不安全的,因為它的加密過程是可逆的,并且易受到暴力破解的攻擊。在實際應用中,需要使用更加強大和安全的加密算法。