Преобразование шестнадцатеричных строк в двоичные и затем XORing

Мне даны две шестнадцатеричные строки, созданные с использованием c.encode('hex') в Python 2. Я использую Python 3, и я хочу преобразовать их обратно в двоичный файл, xor результат, и распечатать результат в виде открытого текста ascii, Если две строки a и b, работает ли следующий код?

def xor(a, b):
return "".join(str(x ^ y) for (x, y) in zip(a, b))

a = str.encode(a)
a = binascii.unhexlify(a)
b = str.encode(b)
b = binascii.unhexlify(b)
print(xor(a, b))

Результат этого не совсем то, что я ожидал, поэтому я просто хотел убедиться, что я делаю это правильно.

0 ответов

Другие вопросы по тегам