Как зашифровать каталог с помощью шифрования имен файлов?

Используя командную строку, я знаю, что могу шифровать каталог с помощью следующей команды:

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 может распаковать зашифрованные ZIP-файлы). Если требуется 7z для дешифрования, это проблема, вы можете полагаться на 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