123456789101112131415161718192021222324252627 |
- def encrypt(key, filename):
- chunksize = 64*1024
- #print filename
- #print "4th time: ", key
- outputFile = "(encrypted)"+filename
- filesize = str(os.path.getsize(filename)).zfill(16)
- IV = ''
- for i in range(16):
- IV += chr(random.randint(0, 0xFF))
- encryptor = AES.new(key, AES.MODE_CBC, IV)
- with open(filename, 'rb') as infile:
- with open(outputFile, 'wb') as outfile:
- outfile.write(filesize)
- outfile.write(IV)
-
- while True:
- chunk = infile.read(chunksize)
-
- if len(chunk) == 0:
- break
- elif len(chunk) % 16 != 0:
- chunk += ' ' * (16 - (len(chunk) % 16))
- outfile.write(encryptor.encrypt(chunk))
|