Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Python и XOR


Автор: nule 5.11.2012, 17:55
Здравствуйте!
Есть куча заксоренных файлов. Надо их пакетно расксорить. Ключ известен. Есть какие-нибудь готовые или полуготовые решения для питона?
Спасибо!

Автор: 4ell 10.11.2012, 12:53
Есть хорошая штука bytearray, а еще одна хорошая штука находится по адресу http://docs.python.org. Советую иногда заглядывать.
Код

smth = bytearray(open('file.bin').read())
key =  bytearray(open('key.bin').read())

res = [a^b for a, b in zip(smth, key)]
open('res.bin').write(res)

Автор: igaraev 15.11.2012, 12:55
Я как то давно писал для себя прогу.

from sys import argv

def XORcrypt(file, file2, filepass):
        for i in file.read():
                j=filepass.read(1)
                if j==b'':
                        filepass.seek(0)
                        j=filepass.read(1)
                #print(i,type(i),j,type(j))
                nn=chr(ord(i)^ord(j))# ^ - XORCrypt
                file2.write(nn)


file_in=open(argv[1],'rb')
file_out=open('d'+argv[1],'wb')
file_pass = open(argv[2],'rb')

XORcrypt(file_in,file_out, file_pass)

file_out.close()
file_in.close()
file_pass.close()

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)