Ich kenne mich leider so gar nicht mit Verschlüsselung aus, brauche aber ein Script um Dateien verschlüsseln zu können. Ich hab im Internet diesen Code hier aufgegriffen:
Code: Alles auswählen
import os
from Crypto.Cipher import AES
from Crypto.Hash import SHA256
from Crypto import Random
def encrypt(self, key, infile_name, outfile_name):
chunksize = 64*1024
outputFile = outfile_name
filesize = str(os.path.getsize(infile_name)).zfill(16)
IV = Random.new().read(16)
encryptor = AES.new(key, AES.MODE_CBC, IV)
with open(infile_name, 'rb') as infile:
with open(outputFile, 'wb') as outfile:
outfile.write(filesize.encode('utf-8'))
outfile.write(IV)
while True:
chunk = infile.read(chunksize)
if len(chunk) == 0:
break
elif len(chunk) % 16 != 0:
chunk += b' ' * (16 - (len(chunk) % 16))
outfile.write(encryptor.encrypt(chunk))
def decrypt(self, key, infile_name, outfile_name):
chunksize = 64*1024
with open(infile_name, 'rb') as infile:
filesize = int(infile.read(16))
IV = infile.read(16)
decryptor = AES.new(key, AES.MODE_CBC, IV)
with open(outfile_name, 'wb') as outfile:
while True:
chunk = infile.read(chunksize)
if len(chunk) == 0:
break
outfile.write(decryptor.decrypt(chunk))
outfile.truncate(filesize)
def get_key(self, password):
hasher = SHA256.new(password.encode('utf-8'))
return hasher.digest()
Abgesehen davon würde ich den Dateizugriff (schreiben / lesen) gerne seperat machen... ich will eigentlich nur zwei Funktionen haben, die Binärdaten (binär eingelesene Datei-Inhalte oder halt binäre Strings) ver- bzw entschlüsseln.
Könnt ihr mir da weiter helfen? Ich hab zwar schon einiges über Verschlüsselung gelesen, aber ich bekomme es alleine nicht hin.
Vielen Dank im Vorraus.
Gruß, Gondii