我最近在这里发布了几个类似的问题,但似乎我没有问对,如果我的异或问题让你感到疲惫,请原谅: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字母),这些字符串长度可相等也可不等,并获取它们的异或,使每个字节都单独进行异或。
s2
键并将其应用于s1
的所有字符?为什么只应用于最后3个字符? - Martijn Pieters