Tôi chỉ đang cố gắng XOR một tệp có khóa đa byte. Khóa có thể khác nhau về độ dài. Trả về lỗi sau:Tệp XORing có khóa nhiều byte
TypeError: ord() expected string of length 1, but int found
Đây là những gì tôi đang làm việc ngay bây giờ.
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
Tôi biết tôi thiếu thứ gì đó đơn giản nhưng không thể đặt nó.
Bạn có thể cung cấp một trường hợp thử nghiệm (tệp đầu vào + tệp đầu ra dự kiến) - để kiểm tra câu trả lời của chúng tôi. –