【发布时间】:2014-06-28 14:20:07
【问题描述】:
说明:
我正在尝试编写一个有趣的简单程序,它将读取一个短语然后对其进行异或加密,然后将加密的短语输出到终端窗口。有关更多信息,请参见下面的代码。
代码:
#包括
#包括
使用命名空间标准;
int main ()
{
string mystr;
cout << "What's the phrase to be Encrypted? ";
char key[11]="ABCDEFGHIJK"; //The Encryption Key, for now its generic
getline(cin, mystr);
string result;
for (int i=0; i<10; i++) {
result.push_back(mystr[i] ^ key[i]);
cout << result[i];
}
cout << "\n";
return 0;
}
结果:
但是,上面的代码有效,当我输入一个很长的字符串时,它只加密前 10 个字符(我认为)。我希望能够输入一个大字符串,用 11 位密钥对其进行加密,然后将其输出到终端。我该怎么做?
还有:
我问了一个问题,该问题位于此处:String input xor encryption program
帮助:
如果您知道如何解决此问题,请举例说明我缺少什么或我需要解释什么。
【问题讨论】:
-
你混淆了字节和位。
-
一旦您使用了“key”的 11 个字符,您需要RE使用它们。例如字符串的字符 1-11 与键的字符 1-11 进行异或运算。字符串的 12-23 字符再次与字符 1-11 等进行异或运算……请注意,使用这样的固定字符串最多不应该被称为“加密”,它比谷物盒解码器环略好。
-
大声笑,有趣的评论 Marc B。我明白了。正如我所说,这是为了好玩,我正在学习什么是加密。感谢您的回复
标签: c++ encryption xor