Einfache integrierte Methode zum Ver- und Entschlüsseln einer Datei auf einem Mac über die Befehlszeile?


Antworten:


52

openssl wird unter Mac OS X vorinstalliert geliefert.

Sie können die folgenden Befehle verwenden:

# encrypt file.txt to file.enc using 256-bit AES in CBC mode
openssl enc -aes-256-cbc -salt -in file.txt -out file.enc

# the same, only the output is base64 encoded for, e.g., e-mail
openssl enc -aes-256-cbc -a -salt -in file.txt -out file.enc

# decrypt binary file.enc
openssl enc -d -aes-256-cbc -in file.enc -out file.txt

# decrypt base64-encoded version
openssl enc -d -aes-256-cbc -a -in file.enc -out file.txt

(kopiert von OpenSSL Command-Line HOWTO: Wie verschlüssele ich einfach eine Datei? )

Diese Befehle verwenden eine 256-Bit-AES-Verschlüsselung mit Cipher Block Chaining (CBC).


1
wo gibst du dein passwort ein
Codecompleting

3
Sobald Sie einen der oben genannten opensslBefehle ausgeführt haben, werden Sie dazu aufgefordert enter aes-256-cbc encryption password.
Dennis

1
@codecompleting Oder angeben -pass pass:MYSECRETPASSWORD, obwohl das Passwort dann natürlich nicht verborgen psist usw.
Acumenus

2
@Wildcard Ja, das Salt (eigentlich der Initialisierungsvektor) wird mit dem Chiffretext in der verschlüsselten Datei gespeichert.
Dennis

1
@KolobCanyon Verschlüsselung ist niemals verlustbehaftet. Per Definition muss der Chiffretext entschlüsselt werden können, um den ursprünglichen Klartext wiederherzustellen. Vergiss nur den Schlüssel nicht.
Dennis

6

Ich habe dafür ein Shell-Skript erstellt. Sie können es auf Mac oder Linux verwenden.

#!/bin/bash
#encrypt files with aes-256-cbc cipher using openssl

#encrypt files
if [ $1 == "-e" ];
then
    if [ -f "$2" ];
    then
    openssl aes-256-cbc -a -e -salt -in "$2" -out "$2.aes"
    else
       echo "This file does not exist!" 
    fi
#decrypt files
elif [ $1 == "-d" ];
then
    if [ -f "$2" ];
    then
        openssl aes-256-cbc -a -d -salt -in "$2" -out "$2.decrypt"
    else
        echo "This file does not exist!" 
    fi
#show help
elif [ $1 == "--help" ];
then
    echo "This software uses openssl for encrypting files with the aes-256-cbc cipher"
    echo "Usage for encrypting: ./encrypt -e [file]"
    echo "Usage for decrypting: ./encrypt -d [file]"
else
    echo "This action does not exist!"
    echo "Use ./encrypt --help to show help."
fi

Speichern Sie dies einfach in einer Textdatei in der Ausgabe chmod + x-Datei, um sie ausführbar zu machen. benutze danach ./filename --help um Infos zu bekommen.


2
Durch -aunnötige Verwendung von wird die Ausgabedatei unnötig aufgebläht.
Acumenus

5

Mac OS X bietet die Möglichkeit, verschlüsselte Containerdateien (ähnlich wie Truecrypt) zu erstellen, die optional mit der Menge der darin enthaltenen Daten wachsen können. Verwenden Sie dazu das Festplatten-Dienstprogramm .

In Festplatten - Dienstprogramm , wählen Sie Datei »Neu» Blank Disk Image ... mit einem der spärlichen Bildformate. Wählen Sie AES-128 oder AES-256 als Verschlüsselung.


Über die Befehlszeile ist dieselbe Funktionalität über das hdiutilProgramm verfügbar .


Ein bisschen übertrieben für eine einzelne Textdatei, die für den Befehlszeilenzugriff gedacht ist, nicht wahr? Können Sie die Datei später über Linux et. al.
Wildcard

@Wildcard Möglicherweise (Umfang hat die Tendenz, sich zu ändern); und nein, war aber nicht Teil der Frage.
Daniel Beck

@DanielBeck, Ausgangsbit identisch mit Ans1?
Pacerier
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.