Используя командную строку, я знаю, что могу зашифровать каталог с помощью следующей команды:
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
и так далее.
Используя командную строку, есть ли способ архивировать каталог с шифрованием, а также шифровать или скрывать сами имена файлов?
Спасибо.
command-line
directory
filenames
encryption
zip
Лео Гальегильос
источник
источник
7zip
его, поскольку оно использует шифрование на основе AES.Ответы:
В zip-файле шифруется только содержимое файла. Метаданные файла, включая имена файлов, не зашифрованы. Это ограничение формата файла: каждая запись сжимается отдельно и, если она зашифрована, шифруется отдельно.
Вы можете использовать 7-Zip вместо этого. Он поддерживает шифрование метаданных (
-mhe=on
с реализацией командной строки Linux).Существует 7zip-реализаций для всех основных операционных систем и большинства второстепенных, но для этого может потребоваться установка дополнительного программного обеспечения (в наши дни IIRC Windows может разархивировать зашифрованные zip-файлы из коробки). Если требуется 7z для расшифровки, вы можете положиться на zip-архив, только сначала используя его для упаковки каталога в один файл, а затем зашифровав этот файл. Если вы сделаете это, отключите сжатие отдельных файлов и дадите команду внешнему zip-файлу сжать zip-файл, вы получите в целом более высокую степень сжатия.
источник
7z a -p -tzip encrypted.zip Directory.zip
Вы можете создать архив с помощью вашего любимого инструмента, а затем использовать
bcrypt
для выполнения шифрования / дешифрования.А) Чтобы создать зашифрованный файл:
Это даст вам зашифрованный файл Blowfish
Directory.tgz
Б) Чтобы полностью изменить этот процесс:
источник
bcrypt
использует EBC, который показывает структуру в зашифрованных данных. Подробности смотрите в ошибке Debian # 700758 (в результате Debianbcrypt
поддерживает только дешифрование).