gpt4 book ai didi

c - xor 加密期间额外的 0xFFFFFF

转载 作者:太空宇宙 更新时间:2023-11-04 01:33:38 25 4
gpt4 key购买 nike

我这里有这段代码

#include<stdio.h>

#define LEN 10

char buf[] = {0xff,0xaa,0xfc,0xe8,0x89,0x00,0x00,0x00,0x60,0x89};
char key[] = "SAMPLE KEY";

int main()
{
int i;
char enc[LEN];
for(i=0;i<LEN;i++)
{
enc[i] = (key[i % LEN] ^ buf[i]);
printf("0x%x,",enc[i]);
}
}

哪些输出

输出

0xffffffac,0xffffffeb,0xffffffb1,0xffffffb8,0xffffffc5,0x45,0x20,0x4b,0x25,0xffffffd0

预期输出在哪里

0xac,0xeb,0xb1,0xb8,0xc5,0x45,0x20,0x4b,0x25,0xd0,

我该如何解决这个问题?为什么会这样?

最佳答案

将声明中的bufenc 类型从char 更改为unsigned char

charsigned 还是unsigned 类型由实现定义,在您的实现中显然是signed 类型。

关于c - xor 加密期间额外的 0xFFFFFF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18685148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com