几天来我一直在这里发布类似的问题,但似乎我没有问正确的问题,所以如果我的 XOR 问题让你筋疲力尽,请原谅:D。
直截了当-我有两个十六进制字符串,我想对这些字符串进行异或运算,以便每个字节分别进行异或运算(即每对数字分别进行异或运算)。我想在python中做到这一点,我希望能够拥有不同长度的字符串。我将手动做一个例子来说明我的观点(我使用了代码环境,因为它允许我在我想要的地方放置空间):
Input:
s1 = "48656c6c6f"
s2 = "61736b"
Encoding in binary:
48 65 6c 6c 6f = 01001000 01100101 01101100 01101100 01101111
61 73 6b = 01100001 01110011 01101011
XORing the strings:
01001000 01100101 01101100 01101100 01101111
01100001 01110011 01101011
00001101 00011111 00000100
Converting the result to hex:
00001101 00011111 00000100 = 0d 1f 04
Output:
0d1f04
所以,总而言之,我希望能够输入两个不同或相等长度的十六进制字符串(这些通常是用十六进制编码的 ASCII 字母),并获得它们的异或,使得每个字节分别进行异或。