>>> a = "a133efb38766" >>> b = "a0a1a2a3a5a7" >>> a.encode().hex() '613133336566623338373636' >>> bytes1 = bytes.fromhex( a.encode("utf-8").hex()) >>> bytes2 = bytes.fromhex( b.encode("utf-8").hex()) >>> xored = bytes( b1 ^ b2 for b1,b2 in zip(bytes1,bytes2)) >>> xored.hex() '000152020454030059025701' >>> for c,d in zip(bytes1,bytes2): ... e.append( ( c ^ d ) ) ... >>> e bytearray(b'\x00\x01R\x02\x04T\x03\x00Y\x02W\x01') >>> e.hex() '000152020454030059025701'