web-dev-qa-db-ja.com

コマンドラインを介してMac上のファイルを暗号化および復号化する簡単な組み込み方法?

テキストファイルを暗号化および復号化できる(そして何らかのパスワードを提供できる)組み込みのコマンドラインツールはありますか?.

40
codecompleting

opensslはMac OS Xにプリインストールされています。

次のコマンドを使用できます。

# 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

OpenSSLコマンドラインHOWTO:ファイルを単純に暗号化するにはどうすればよいですか? からコピー)

これらのコマンドは256ビットAES暗号化とCipher Block Chaining(CBC)を使用します。これは、現在のところほぼ安全です。

54
Dennis

そのためのシェルスクリプトを作成しました。 MacまたはLinuxで使用できます。

#!/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

これを問題のchmod + xファイルのテキストファイルに保存するだけで、実行可能になります。その後、。/ filename --helpを使用して情報を取得します。

6
persec

Mac OS Xには、暗号化されたコンテナーファイルを作成する機能があり(Truecryptなどと同様)、そこに置かれるデータの量に応じてオプションで拡張できます。これを行うにはDisk Utilityを使用します。

Disk Utilityで、-sparseイメージ形式のいずれかを指定して、File"New"Blank Disk Image…を選択します。暗号化としてAES-128またはAES-256を選択します。


コマンドラインから、hdiutilプログラムを介して同じ機能を利用できます。

5
Daniel Beck