Hier sind einige Möglichkeiten, dies zu tun. Wenn Sie separate Komprimierungs- und Verschlüsselungstools verwenden, sollten Sie diese immer vor der Verschlüsselung komprimieren, da verschlüsselte Daten im Wesentlichen nicht komprimierbar sind.
Diese Beispiele komprimieren und verschlüsseln eine aufgerufene Datei clear_text
.
Verwenden gpg
$ gpg -c clear_text #Compress & Encrypt
$ gpg -d clear_text.gpg #Decrypt & Decompress
gpg komprimiert die Eingabedatei vor der Verschlüsselung standardmäßig. Dies -c
bedeutet, dass eine symmetrische Verschlüsselung mit einem Kennwort verwendet wird. Die Ausgabedatei wird clear_text.gpg
. Ein Vorteil der Verwendung gpg
ist, dass Standard-OpenPGP-Formate verwendet werden, sodass jede Verschlüsselungssoftware, die OpenPGP unterstützt, diese entschlüsseln kann.
Verwenden mcrypt
$ mcrypt -z clear_text #Compress & Encrypt
$ mdecrypt -z clear_text.gz.nc #Decrypt & Decompress
Die -z
Option wird komprimiert. Standardmäßig wird eine Datei mit dem Namen ausgegeben clear_text.gz.nc
.
Verwenden bcrypt
$ bcrypt -r clear_text #Compress & Encrypt
$ bcrypt -r clear_text.bfe #Decrypt & Decompress
bcrypt wird vor dem Verschlüsseln komprimiert. Die -r
Option ist, dass die Eingabedatei dabei nicht gelöscht wird. Die Ausgabedatei wird clear_text.bfe
standardmäßig aufgerufen .
Verwenden von gzip
undaespipe
$ cat clear_text | gzip | aespipe > clear_text.gz.aes #Compress & Encrypt
$ cat clear_text.gz.aes | aespipe -d | gunzip > clear_text #Decrypt & Decompress
aespipe ist, wie es sich anhört, ein Programm, das Eingaben über stdin entgegennimmt und verschlüsselte Daten über stdout ausgibt. Die Komprimierung wird nicht unterstützt, daher können Sie die Eingabe zuerst über gzip weiterleiten. Da die Ausgabe auf stdout geht, müssen Sie sie in eine Datei mit einem Namen Ihrer Wahl umleiten. Wahrscheinlich nicht der effektivste Weg, das zu tun, was Sie verlangen, aber aespipe ist ein vielseitiges Werkzeug, und ich dachte, es wäre erwähnenswert.
openssl aes-256-cbc -d -in out.tar.gz.enc -out decrypted.tar.gz