如何找到给定十六进制的 xor key/algorithm?

how to find xor key/algorithm, for a given hex?

所以我有这个十六进制:B0 32 B6 B4 37

我知道这个十六进制被一些key/algorithm混淆了。

我也知道这个十六进制等于:61 64 6d 69 6e (admin)

我如何为此计算 XOR 密钥?

如果你写出二进制表示,你可以看到模式:

encoded     decoded
10110000 -> 01100001
00110010 -> 01100100

请注意,位模式前后的位数相同。要解码,只需按位向左旋转一位。所以值向左移动一位,最高有效位环绕到最低有效位。编码,反其道而行之

int value, encoded_value;

encoded_value = 0xB0;
value = ((encoded_value << 1) | (encoded_value >> 7)) & 255;
// value will be 0x61;
encoded_value = ((value >> 1) | (value << 7)) & 255;