使用 Python,如何找到具有十六进制值的两个字符串的 XOR

Using Python, how to find XOR of two strings having hexadecimal values

s1 = '0x54'

s2 = '0xa1'

我们如何对 s1 和 s2 进行异或运算以获得“0xf5”作为输出?

首先将它们转换为数值:

n1 = int(s1, 0)
n2 = int(s2, 0)

现在使用 ^ 运算符计算值的 XOR,并转换为 hex 格式:

result = hex(n1 ^ n2)

运行:

print(hex(int(s1,16)^int(s2,16)))
s1 = '0x54'
s2 = '0xa1'

def XOR(s1, s2):
   return "0x" + "{:x}".format(int(s1[2:], 16)^int(s2[2:], 16))

XOR(s1,s2)

应该可行