加密十六进制、二进制和ascii python

加密十六进制、二进制和ascii python,python,encryption,cryptography,Python,Encryption,Cryptography,我对密码学是新手,当涉及到xor时,我真的很困惑。 给定一个ascii文本和一个十六进制密码,我怎样才能使它们的格式相同? 我目前的代码是: import binascii string = b'09e1c5f70a65ac519458e7e53f36' binary = binascii.unhexlify(string) #This make the hex string to raw bytes 我的问题是如何让ascii字符串也是原始字节,这样我就可以进行异或运算了? 或者,如果无法对

我对密码学是新手,当涉及到xor时,我真的很困惑。 给定一个ascii文本和一个十六进制密码,我怎样才能使它们的格式相同? 我目前的代码是:

import binascii
string = b'09e1c5f70a65ac519458e7e53f36'
binary = binascii.unhexlify(string)
#This make the hex string to raw bytes
我的问题是如何让ascii字符串也是原始字节,这样我就可以进行异或运算了?
或者,如果无法对xor执行什么操作?

ascii只是一个字节字符串

XOR_WITH = 0x12

def xor_encode(byte):
    if isinstance(byte,basestring):
        byte = ord(byte) #convert to ascii integer value
    byte = byte ^ XOR_WITH #encode
    return chr(byte) # convert it back to a string and return

encoded_string = "".join(map(xor_encode,"Test String"))

也许你正在寻找的是“这使十六进制字符串变成二进制”;否,它将(per)“返回二进制数据的十六进制表示形式。”。“将ascii字符串转换为二进制”是什么意思?对不起,你是对的。我更好地解释了这个问题,我必须对ascii的纯文本和十六进制的密码进行异或运算,我需要它们的格式相同,这样我才能进行异或运算。我该怎么办?