XOR加密问题…总初学者
XOR Encryption issues... Total Beginner
作为一个完全的初学者,我一直在尝试用c++编写一些异或加密代码
我遇到的问题是,当解密时,只有一半的消息实际上是正确翻译的
如果有人能告诉我出了什么问题,以及如何解决这个问题,我将非常感激
我还附加了控制台显示错误的内容酷儿ß®o»¥╝©®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;
}
key
的大小仅为2(包括终止字符),但您在循环中对其进行索引,导致其出界。要么让它成为一个单独的char
,不索引它,要么确保数组足够大。我建议使用std::string
或std::array
或std::vector
,好的调试器将为您进行边界检查。
声明key为char,不使用index
char key = 'A';
...
string[i] = string[i] ^ key;
相关文章:
- 嵌套for循环C++的问题(初学者)
- 初学者问题:如何使用这些晦涩难懂的命令,例如C++中的'RenderWindow'
- 初学者问题:如何访问此变量?
- 您好,我是C++初学者,有这种问题.它给了我倍增的错误
- 初学者问题:C++指针/地址 - 和变量之后不是以前?
- 初学者关于数组和指针的问题
- 模板编程初学者问题
- 在 Rcpp-Function 中使用布尔向量的子集(Rcpp 初学者的问题..)
- 我在C 初学者中发现了无限的循环问题
- 在C 中的初学者,我面临此问题错误C3867
- 有关循环冗余代码的初学者问题
- 初学者问题 - 致命错误LNK1561:必须定义入口点
- 关于编译器错误的初学者问题
- C++ 的初学者问题
- C++ 移动黑白函数的初学者问题
- 2个关于c++的初学者问题
- Qt C++简单的应用程序初学者问题
- 初学者问题:当对象位于向量中时,为什么我无法访问对象的成员?
- 如何使用这个 C++ 模板函数.简单的初学者问题
- 初学者问题生成文件不起作用