[英]Resolving incorrect padding error while b64 decoding?
函數描述: decodexorbase64(string, key)
獲取上一個函數的輸出(異或字符串和base64編碼密鑰),並以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
錯誤: binascii.Error: Incorrect padding
我可以在代碼中寫些什么來避免此錯誤?
您應該對二進制與二進制進行異或運算,而不是對基64與基64進行異或運算,並期望它返回基64。如果您對基64的兩個ASCII編碼進行XOR運算,則可能會得到許多字節設置為接近零(因為前幾位可能匹配),這似乎反映了問題中的code
或string
。
如果需要,請先解碼,然后進行XOR,然后在需要文本作為輸出時再次編碼。
筆記:
code
)似乎是二進制的,而不是基於64
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.