Como criar o tamanho mínimo (vazio) arquivo zip, que tem 22B?

estou a tentar resolver algum problema de segurança com o ficheiro, cujo hash MD5 é 76cdb2bad9582d23c1f6f4d868218d6c.

Não tenho esse ficheiro, mas com base nas pesquisas na internet MD5, acho que é um ficheiro zip de tamanho mínimo. Encontrei um exemplo e o seu conteúdo é exactamente igual ao Tamanho mínimo do ficheiro zip .

é possível criar esse tamanho mínimo de arquivo zip (22 B) com o comando Linux (ou Windows)?

BTW: recentemente, resolvi uma tarefa semelhante com ficheiro gzip: gzip -n EmptyFileName

Author: mirekbarton, 2015-03-24

3 answers

Aqui tens.
50 4b 05 06 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00

Que tem a assinatura MD5 que forneceu.

Se você tem o zip do Info-ZIP, você pode criá-lo assim:

zip empty.zip anyfile
zip -d empty.zip anyfile

Isso adiciona "anyfile" a um novo ficheiro zip, e depois apaga-o do ficheiro zip, deixando-o vazio.

 23
Author: Mark Adler, 2015-03-24 18:19:14

Uma versão mais fácil de usar para copiar e colar na consola:

echo UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA== | base64 -d > empty.zip

Isto apenas imprime a versão base64'd do ficheiro zip vazio (criado pela criação de um ficheiro zip com um único ficheiro e depois a remoção desse ficheiro único do ficheiro zip), invertendo a codificação com base64 -d e gravando o resultado para empty.zip.


Se a versão de base64 que os navios com a sua máquina não usam a mesma sintaxe que a anterior, aqui está uma alternativa mais portátil mas menos terse:

echo UEsFBgAAAAAAAAAAAAAAAAAAAAAAAA==  | openssl enc -d -base64 > empty.zip
 4
Author: Mahmoud Al-Qudsi, 2018-07-25 17:24:30
me@workpc ~ % touch somefile.txt  
me@workpc ~ % gzip somefile.txt  
me@workpc ~ % ls -al somefile.txt.gz 
-rw-r--r-- 1 me me 33 mar 24 17:30 somefile.txt.gz
 -4
Author: int13h, 2015-03-24 14:31:50