功能说明:
decodexorbase64(string, key)
获取前一个的输出
function(xor'd string和base64 encoded key)并返回
原始字符串,采用b'格式
我的代码:
def decodexorbase64(code, keyb64):
keyoriginal = binascii.a2b_base64(key)
stroriginal = binascii.a2b_base64(string)
return (stroriginal, keyoriginal)
问题:
print(decodexorbase64(b'\x02\x01\x04\x00\x03\x00Y^\x00', b'a2VybWl0\n'))
给出错误:binascii.Error: Incorrect padding
我可以在代码中编写什么来避免此错误?
答案 0 :(得分:0)
你应该用二进制xor二进制,而不是base 64和base 64,并期望它返回base 64.如果你对base 64的两个ASCII编码进行异或,那么你很可能会将许多字节设置为接近零(因为第一个位可能匹配) ),这似乎反映了问题中的for
或code
。
首先解码,如果需要,然后是XOR,然后再次编码,如果你需要文本作为输出。
注意:
string
)似乎是二进制,而不是基数64