- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用输入的 key 加密 file_1.txt
并将结果输出到 file_2.txt
。教授指定文件必须一次读取 100 个字节。
int main(int argc, char *argv[]){
int key;
key = atoi(argv[1]);
FILE *file_pointer;
file_pointer = fopen(argv[2], "rb");
char buffer[100];
char output[sizeof(int)][100];
int output_counter = 0;
int read_counter;
int read_elements;
int buffer_reset_counter;
for(buffer_reset_counter = 0; buffer_reset_counter < 100; buffer_reset_counter++){
buffer[buffer_reset_counter] = 0;
}
while(read_elements = fread(buffer, 1, 100, file_pointer) > 0){
read_counter = 0;
while(read_counter < 100){
printf("xor'ing %d and %d\n", key, buffer[read_counter]);
output[output_counter][read_counter] = buffer[read_counter] ^ key;
read_counter = read_counter + 1;
}
output_counter = output_counter + 1;
for(buffer_reset_counter = 0; buffer_reset_counter < 100; buffer_reset_counter++){
buffer[buffer_reset_counter] = 0;
}
}
fclose(file_pointer);
file_pointer = fopen(argv[3], "wb");
int write_counter = 0;
while(write_counter < output_counter){
fwrite(output[write_counter], 1, 100, file_pointer);
write_counter = write_counter + 1;
}
}
file_1.txt
是字符串“用于测试的测试文件\n”
重复 100 次。
前几百次打印的输出与预期一致,但随后 key 发生了变化:
xor'ing 111 and 115
xor'ing 111 and 116
xor'ing 111 and 105
xor'ing 111 and 110
xor'ing 111 and 103
xor'ing 111 and 10
xor'ing 111 and 116
xor'ing 111 and 101
xor'ing 111 and 115
xor'ing 111 and 116
xor'ing 111 and 32
xor'ing 111 and 102
xor'ing 111 and 105
xor'ing 111 and 108
xor'ing 111 and 101
xor'ing 111 and 32
xor'ing 111 and 102
xor'ing 111 and 111
xor'ing 111 and 114
xor'ing 111 and 32
xor'ing 111 and 116
xor'ing 111 and 101
xor'ing 111 and 115
xor'ing 111 and 116
xor'ing 111 and 105
xor'ing 6 and 110
xor'ing 26630 and 103
xor'ing 6383622 and 10
xor'ing 207710214 and 116
xor'ing 207710214 and 101
xor'ing 207710214 and 115
xor'ing 207710214 and 116
xor'ing 207710214 and 32
xor'ing 207710214 and 102
xor'ing 207710214 and 105
xor'ing 207710214 and 108
xor'ing 207710214 and 101
Segmentation fault (core dumped)
我不知道 key 是如何变化的。如果相关,printf("%d", sizeof(int));
输出 4。
早些时候,我提交了一个关于垃圾进入缓冲区数组的问题(stackoverflow.com/q/47732691/905902),因为它在使用 fread() 之前没有初始化。这次的问题是 key 意外改变。
最佳答案
在声明中:
output[output_counter][read_counter] = buffer[read_counter] ^ key;
output_counter
可以大于 sizeof(int)
如果循环运行超过四次,即有超过 400 个字节(我认为)文件。发生这种情况时,异或操作会覆盖堆栈,从而写入key
的存储。
更高级别,您确实想学习使用诸如 valgrind
或 clang 的地址清理器之类的工具,因为它们会很快发现此类问题。
关于c - 变量 int key 多次用作 XOR 运算中的一个输入后发生莫名其妙的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47733595/
XOR 的各个部分如何命名? A xor B = C A和B叫什么 对于分部,它是: A / B = C A = 除数,B = 被除数,C = 商 对于和(和 XOR 与和一样对称)它是 A + B
我在算法方面遇到了问题。 我有一个用于 IO 的字节,可以使用称为 XorAndXor 的方法设置其中的某些位。该算法的工作原理如下: newValue = (((currentValue XOR x
我很惊讶地看到一个 BPMN 图,其中一个异或决策(“XOR-Split”)用相同的网关符号“关闭”。 我真的想知道证明这种方法合理的原因是什么。在我看来,这是多余的。 事实似乎是,XOR-Join
我在查看 XOR 链接列表的实现时多次遇到这段代码,但似乎没有一个人正确解释了这一行(或者也许我错过了一些东西) - struct node* XOR (struct node *a, struct
这应该是一个简单的问题。我是 Coq 的新手。 我想在 Coq 中定义exclusive or in Coq(据我所知,这不是预定义的)。重要的部分是允许多个命题(例如 Xor A B C D)。 我
我试图记住数学是如何计算出来的,以计算循环冗余检查中 XOR 算法的剩余部分,以验证网络消息的剩余位。 我不应该扔掉那本教科书。 这在代码中很容易完成,但是如何手工完成呢? 我知道它看起来有点像标准除
给定一个数字 N 和一个整数数组(所有整数都小于 2^15)。 (A 是数组 100000 的大小) 从数组中找到 N 和整数的最大 XOR 值。 Q是查询次数(50000)和开始,停止是数组中的范围
这更像是一个有趣的问题。我正在研究 SC61860 CPU,它是 8 位 CPU,用于 1987 年的 Sharp PC-1360 掌上电脑(也用于 PC-1401 和 1403)。它的指令集实际上并
我正在尝试在 c 中进行某种异或文件加密,并在 javascript 中进行解密(使用 this 作为基础,现在我遇到了以下问题: 例如我想在 C 中执行 73^122,结果是 57,但在 javas
我的任务是计算数组中字节的异或和: X = char1 XOR char2 XOR char3 ... charN; 我正在尝试将其并行化,改为对 __m128 进行异或运算。这应该提供加速因子 4。
我有一系列错误或 View ( Seq[Xor[Error,View]] ) 我想将其映射到第一个错误(如果有)或 View 序列的异或 ( Xor[Error, Seq[View]] ) 或者可能只
这是我想做的一个例子:假设我有 5 个类,我想表达这样的约束,即我们可以将类“B”或/和“C”的实例链接到“A”,如果是这样,我们就不能拥有其他任何东西,如果我们不这样做没有这些类的任何实例,我们只能
因此我们可以确定异或距离度量是一个真实的度量(它是对称的,满足三角不等式等) 在阅读 Kademlia 及其 k-buckets 之前,我在想每个节点都会简单地找到自己的 id 并存储其最近的 k 个
该函数用于计算一个32位整数的异或 int xor32int(int x, int y) { int res = 0; // Initialize result // Assuming
我是加密新手,我正在尝试解释以下代码。即, 是什么?什么意思? 我有一个 secret_key key 。我也有一个 unique_id。我使用下面的代码创建垫。 pad = hmac.new(sec
我正在尝试将一些 javascript 代码复制到 python 中,由于某种原因,javascript 中的 XOR 运算符 (^) 给我的值与 python 中的 XOR 运算符 (^) 不同。我
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
这个问题在这里已经有了答案: Does Typescript support mutually exclusive types? (7 个答案) 关闭 3 年前。 我怎么说我希望一个接口(inter
我有一些未知的 C++ 代码是在发布版本中编译的,因此对其进行了优化。我正在努力解决的问题是: xor al, al add esp, 8 cmp byte ptr [ebp+
我得到了以下卡诺图,但我仍然无法从每个表中计算 XOR 的表达式。 Table 1 -------
我是一名优秀的程序员,十分优秀!