AES encryption requires that each block being written be a multiple of 16 bytes in size. So we read, encrypt, and write the data in chunks. The chunk size is required to be a multiple of 16.
The following script encrypts the file provided by the parameter.
You can find the following code in the aes-file-encrypt.py file inside the pycrypto folder:
from Crypto.Cipher import AESfrom Crypto.Hash import SHA256import os, random, structdef encrypt_file(key, filename): chunk_size = 64*1024 output_filename = filename + '.encrypted' # Initialization vector iv = ''.join(chr(random.randint(0, 0xFF)) for i in range(16)) #create the encryption cipher encryptor = AES.new(key, AES.MODE_CBC, iv) #Determine the size of the file ...