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密码是不安全的,因为它的加密过程是可逆的,并且易受到暴力破解的攻击。在实际应用中,需要使用更加强大和安全的加密算法。