我正在尝试反转 XOR 加密。我有加密代码:
// Walk the 16 nibbles in the 64 bit long long, selecting the corresponding key digit
// and XORing it into the result.
unsigned long long result = 0;
for( i=0; i<16; i++ )
{
int n = 4*(i % keyLen);
int k = (key & (0xF << n)) >> n;
result |= value&(0xF << 4*i) ^ (k<<4*i);
}
第一行很好。
第二个和第三个不是。我的3个问题是:
- 我想我可以扭转位移,它会工作吗?
- 但是我如何反转按位 & ?那么#2是如何反转的呢?
- 因此,如果#1 的答案是肯定的,并且我知道如何做#2,那么我可以这样做并且能够解密是吗?