コマンドラインを使用すると、次のコマンドでディレクトリを暗号化できることがわかります。
Zip -er Directory.Zip /path/to/directory
ただし、ファイル名自体は暗号化されません。誰かが走った場合:
unzip Directory.Zip
誤ったパスワードを繰り返し入力すると、unzipコマンドは、正しいパスワードが入力されるまで、含まれているすべてのファイル名をループします。出力例:
unzip Directory.Zip
Archive: Directory.Zip
creating: Directory/
[Directory.Zip] Directory/sensitive-file-name-1 password:
password incorrect--reenter:
password incorrect--reenter:
skipping: Directory/sensitive-file-name-1 incorrect password
[Directory.Zip] Directory/sensitive-file-name-2 password:
password incorrect--reenter:
password incorrect--reenter:
skipping: Directory/sensitive-file-name-2 incorrect password
[Directory.Zip] Directory/sensitive-file-name-3 password:
password incorrect--reenter:
password incorrect--reenter:
skipping: Directory/sensitive-file-name-3 incorrect password
等々。
コマンドラインを使用して、ファイル名自体を暗号化または非表示にしながら、暗号化でディレクトリを圧縮する方法はありますか?
ありがとうございました。
Zipファイルでは、ファイルの内容のみが暗号化されます。ファイル名を含むファイルメタデータは暗号化されません。これはファイル形式の制限です。各エントリは個別に圧縮され、暗号化されている場合は個別に暗号化されます。
代わりに 7-Zip を使用できます。メタデータ暗号化(-mhe=on
Linuxコマンドライン実装を使用)。
7z a -p -mhe=on Directory.7z /path/to/directory
すべての主要なオペレーティングシステムとほとんどのマイナーなオペレーティングシステムに7Zip実装がありますが、追加のソフトウェアをインストールする必要があるかもしれません(IIRC Windowsは、最近、暗号化されたZipファイルをボックスから解凍できます)。暗号化解除に7zが必要なことが問題である場合は、最初にZipを使用してディレクトリを単一のファイルにパックし、次にそのファイルを暗号化することによってのみZipに依存できます。その場合は、個々のファイルの圧縮をオフにして、外側のZipにZipファイルを圧縮するように指示すると、全体的に圧縮率が向上します。
Zip -0 -r Directory.Zip /path/to/directory
Zip -e -n : encrypted.Zip Directory.Zip
お気に入りのツールを使用してアーカイブを作成し、bcrypt
を使用して暗号化/復号化を実行できます。
A)暗号化されたファイルを作成するには:
tar -czf Directory.tgz /path/to/directory
bcrypt Directory.tgz
これにより、Blowfishで暗号化されたファイルDirectory.tgz
B)このプロセスを元に戻すには:
bcrypt Directory.tgz.bfe
tar -xf Directory.tgz