ファイル名暗号化を使用してディレクトリを圧縮するには?

ファイル名暗号化を使用してディレクトリを圧縮するには?

コマンドラインを使用すると、次のようにディレクトリを暗号化できることがわかります。

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

など。

コマンドラインを使用してファイル名自体を暗号化または非表示にしながら圧縮されたディレクトリを暗号化する方法はありますか?

ありがとうございます。

ベストアンサー1

zipファイルでは、ファイルの内容のみが暗号化されます。ファイル名を含むファイルメタデータは暗号化されません。これはファイル形式の制限です。各項目は個別に圧縮され、暗号化されている場合は個別に暗号化されます。

あなたはそれを使用することができます7つのジッパー代わりに。 (-mhe=onLinuxコマンドライン経由)メタデータ暗号化をサポートしています。

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

おすすめ記事