Sadece XOR'a bir baytlık tuşa sahip bir dosya deniyorum. Anahtar uzunluk olarak değişebilir. Aşağıdaki hatayı döndürme:XORing dosyası çok baytlı tuşla
Şu an üzerinde çalışıyorum.
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
Basit bir şey eksik olduğumu biliyorum, ancak yerleştiremiyorum.
Bir test durumu (girdi dosyası + beklenen çıktı dosyası) verebilir misiniz - cevaplarımızı test etmek için. –