C++ XOR加密问题。。。完全初学者

C++ XOR加密问题。。。完全初学者,c++,encryption,C++,Encryption,作为一个完全的初学者,我一直在尝试用C编写一些XOR加密代码++ 我遇到的问题是,当解密时,只有一半的消息被正确翻译 如果有人能告诉我出了什么问题,以及如何解决这个问题,我将不胜感激 我还附上了控制台上显示的错误 Qoóßßßó»¥193╝©®50¤ä┌Ð╬┘ð╝ 非加密┐┐¡½®╠按任意键继续 我的代码如下 #include <iostream> #include <fstream> #include <string> using namespace st

作为一个完全的初学者,我一直在尝试用C编写一些XOR加密代码++

我遇到的问题是,当解密时,只有一半的消息被正确翻译

如果有人能告诉我出了什么问题,以及如何解决这个问题,我将不胜感激

我还附上了控制台上显示的错误 Qoóßßßó»¥193╝©®50¤ä┌Ð╬┘ð╝ 非加密┐┐¡½®╠按任意键继续

我的代码如下

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
    char string[] = "non-encrypted_message";
    char key[] = "A";
    for (int i = 0; i < sizeof(string); i++)
    {
        string[i] = string[i] ^ key[i];     //Performing the encryption with XOR operator
        cout << string[i];                  //Output of encrypted message

    }
    cout << "\n";

    for (int j = 0; j < sizeof(string); j++)
    {
        string[j] = string[j] ^ key[j];
        cout << string[j];
    }
    cout << "\n";
    return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
字符字符串[]=“非加密_消息”;
字符键[]=“A”;
for(int i=0;i不能将键声明为char,不要在其上使用索引

char key = 'A';
...
string[i] = string[i] ^ key;

将键声明为char,不在其上使用索引

char key = 'A';
...
string[i] = string[i] ^ key;

将键声明为char,不在其上使用索引

char key = 'A';
...
string[i] = string[i] ^ key;

将键声明为char,不在其上使用索引

char key = 'A';
...
string[i] = string[i] ^ key;

键的大小仅为2(包括终止字符),但您在循环中对其进行索引,导致其超出边界。要么将其设置为单个
char
,不要对其进行索引,要么确保数组足够大。我建议使用
std::string
std::array
std::vector
,好的调试器将为您检查边界。

key
的大小为仅2个(包括终止字符),但您在循环中对其进行索引,导致其超出边界。要么将其设置为单个
char
,不要对其进行索引,要么确保数组足够大。我建议使用
std::string
std::array
std::vector
,好的调试器将为您检查边界。

key
的大小为仅2个(包括终止字符),但您在循环中对其进行索引,导致其超出边界。要么将其设置为单个
char
,不要对其进行索引,要么确保数组足够大。我建议使用
std::string
std::array
std::vector
,好的调试器将为您检查边界。

key
的大小为仅2个(包括终止字符),但您在循环中对其进行索引,导致其超出边界。要么将其设置为单个
char
,不要对其进行索引,要么确保数组足够大。我建议使用
std::string
std::array
std::vector
好的调试器将为您检查边界。

不要在您的问题中链接图像。请复制并粘贴文本。您还应了解C字符串中的终止字符,并决定是否要通过加密对其进行更改。不要在问题中链接图像。请复制并粘贴文本。您还应了解C字符串中的终止字符,并决定是否要通过加密对其进行更改加密与否。请不要链接问题中的图像。请复制并粘贴文本。您还应该知道C字符串中的终止字符,并决定是否要通过加密更改它。不要链接问题中的图像。请复制并粘贴文本。您还应该知道C字符串中的终止字符C字符串,然后决定是否要通过加密来更改。非常感谢这帮了大忙这帮了大忙这帮了大忙这帮了大忙这帮了大忙这帮了大忙这帮了大忙这帮了大忙