XOR bit a bit de números hexadecimais em python

como podemos XOR números hexadecimais em python, por exemplo. Eu quero xor 'ABCD' para '12EF'. resposta deve ser B922.

Eu usei abaixo código, mas está retornando valor de lixo

def strxor(a, b):     # xor two strings of different lengths
 if len(a) > len(b):
    return "".join(["%s" % (ord(x) ^ ord(y)) for (x, y) in zip(a[:len(b)], b)])
else:
    return "".join(["%s" % (ord(x) ^ ord(y)) for (x, y) in zip(a, b[:len(a)])])

key ='12ef'
m1='abcd'
print  strxor(key,m1)

questionAnswers(5)

yourAnswerToTheQuestion