Einfache integrierte Möglichkeit zum verschlüsseln und entschlüsseln einer Datei auf einem Mac über die Befehlszeile?

Gibt es integrierte Befehlszeilentools, mit denen ich eine Textdatei verschlüsseln und entschlüsseln kann (und ihr eine Art Passwort geben kann)?

Author: Chris W. Rea, 2011-12-21

3 answers

openssl kommt vorinstalliert auf Mac OS X.

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 256-Bit-AES-Verschlüsselung mit Cipher Block Chaining (CBC), was ungefähr so sicher ist, wie es gerade geht.

 58
Author: Dennis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-10-14 15:49:24

Mac OS X kann verschlüsselte Containerdateien (ähnlich wie z.B. Truecrypt) erstellen, die optional mit der darin platzierten Datenmenge wachsen können. Verwenden Sie dazu Disk Utility.

In Disk Utility, wählen Sie Datei "Neue" Leere Disk Image... mit einem der sparse Bildformate. Wählen Sie AES-128 oder AES-256 als Verschlüsselung.


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

 6
Author: Daniel Beck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-12-21 21:03:36

Dafür habe ich 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 chmod + x-Datei, um es ausführbar zu machen. nach diesem Gebrauch ./filename --help to get infos.

 6
Author: persec,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-01-05 09:47:57