Ich habe ein kleines Stück Code gefunden, der Dateien im AES (128bit) CBC-Modus verschlüsseln (und entschlüsseln) kann. Es funktioniert einwandfrei auch bei der Entschlüsselung, also glaubte ich, dass OpenSSL (natürlich) in der Lage sein würde, meine Dateien zu entschlüsseln, aber es scheint unmöglich zu sein. Ich erhalte denPython und OpenSSL: kann nicht entschlüsseln
import os, random, struct
from Crypto.Cipher import AES
def encrypt_file(key, in_filename, out_filename=None, chunksize=64*1024):
""" Encrypts a file using AES (CBC mode) with the
given key.
key:
16, 24 or 32 bytes long
in_filename:
Name of the input file
out_filename:
If None, '<in_filename>.enc' will be used.
chunksize:
Sets the size of the chunk which the function
uses to read and encrypt the file.
Chunksize must be divisible by 16.
"""
if not out_filename:
out_filename = in_filename + '.enc'
iv = ''.join(chr(random.randint(0, 0xFF)) for i in range(16))
encryptor = AES.new(key, AES.MODE_CBC, iv)
filesize = os.path.getsize(in_filename)
with open(in_filename, 'rb') as infile:
with open(out_filename, 'wb') as outfile:
outfile.write(struct.pack('<Q', 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))
„Fehler beim Lesen des Eingang Dateien“ Der Fehler ist das gleiche immer Zeit: „Fehler beim Lesen der Eingabedateien“. Wie ist es möglich? Die von mir verwendeten Befehle sind:
openssl aes-128-cbc -d -in test_enc.txt -out test_dec.txt
Warum funktioniert nicht?
Uh ok Danke! Jetzt verstehe ich, das Grundformat war anders! Ich danke dir sehr –