Como zipar o diretório com criptografia para nomes de arquivos?

13

Usando a linha de comando, sei que posso criptografar um diretório com o seguinte comando:

zip -er Directory.zip /path/to/directory

No entanto, isso não criptografa os próprios nomes dos arquivos. Se alguém for executado:

unzip Directory.zip

e insere repetidamente uma senha incorreta, o comando unzip fará um loop através de todos os nomes de arquivos contidos até que a senha correta seja digitada. Exemplo de saída:

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

e assim por diante.

Usando a linha de comando, existe uma maneira de compactar um diretório com criptografia e, ao mesmo tempo, criptografar ou ocultar os próprios nomes de arquivos?

Obrigado.

    
por Leo Galleguillos 15.06.2016 / 22:02

2 respostas

18

Em um arquivo zip, somente o conteúdo do arquivo é criptografado. Metadados de arquivos, incluindo nomes de arquivos, não são criptografados. Essa é uma limitação do formato do arquivo: cada entrada é compactada separadamente e, se criptografada, criptografada separadamente.

Você pode usar o 7-zip . Ele suporta criptografia de metadados ( -mhe=on com a implementação da linha de comando do Linux).

7z a -p -mhe=on Directory.7z /path/to/directory

Existem implementações de 7zip para todos os sistemas operacionais principais e para os mais pequenos, mas que podem exigir a instalação de software extra (o IIRC Windows pode descompactar os arquivos zip criptografados nos dias de hoje). Se a solicitação de descriptografia for um problema, você pode confiar no zip somente primeiro usando-o para compactar o diretório em um único arquivo e, em seguida, criptografá-lo. Se você fizer isso, desative a compactação de arquivos individuais e instrua o zip externo para compactar o arquivo zip; você obterá uma taxa de compactação melhor no geral.

zip -0 -r Directory.zip /path/to/directory
zip -e -n : encrypted.zip Directory.zip
    
por 16.06.2016 / 09:32
2

Você pode criar um arquivo usando sua ferramenta favorita e usar bcrypt para realizar a criptografia / descriptografia.

A) Para criar um arquivo criptografado:

tar -czf Directory.tgz /path/to/directory
bcrypt Directory.tgz

Isso fornecerá um arquivo criptografado pelo Blowfish Directory.tgz

B) Para reverter este processo:

bcrypt Directory.tgz.bfe
tar -xf Directory.tgz
    
por 16.06.2016 / 00:15