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