Начал потихоньку изучать программирование, написал простенький скрипт на питоне, шифрующий файлы XOR'ом, но не могу никак понять почему он работает очень медленно (около 1 Мбайт/с):
# Получаем пароль, превращаем его в битовую строку,
# получаем адрес файла, открываем файл в режиме 'r+b'.
FILE_SIZE = os.path.getsize(file_adress)
BLOCK_SIZE = 1000
block = file.read(BLOCK_SIZE)
for i in range(FILE_SIZE // BLOCK_SIZE):
file.seek(-BLOCK_SIZE, 1)
new = []
for byte in block:
new.append(byte ^ int(bin_password[-8:], 2))
bin_password = bin_password[-8:] + bin_password[:-8] # циклический сдвиг
file.write(bytes(new))
file.flush()
block = file.read(BLOCK_SIZE)
file.close()
Что делать? :(