我只是試圖用多字節密鑰異或文件。鑰匙的長度可能會有所不同。返回以下錯誤:使用多字節密鑰異或文件
TypeError: ord() expected string of length 1, but int found
以下是我現在正在處理的內容。
def xor(data, key):
l = len(key)
decoded = ""
for i in range(0, len(data)):
decoded += chr(ord(data[i])^ord(key[i % l]))
return decoded
data = bytearray(open('myfile.bin', 'rb').read())
key = '\x2a\x2b\x2c\x5e\x25\x44'
a = xor(data, key)
print a
我知道我錯過了一些簡單但不能放置的東西。
你能提供一個測試用例(輸入文件+預期的輸出文件) - 用於測試我們的答案。 –