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
3 answers
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.
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
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