Acrescentando informações de soma de verificação ao arquivo

5

Eu gostaria de incorporar informações de soma de verificação em um arquivo, que eu transfiro. É tar.gz ou tar.xz file e só posso transferir um arquivo para o lado remoto.

Como você recomenda que eu inclua informações de soma de verificação?

Eu quero a soma de verificação do arquivo inteiro, não do seu conteúdo (gostaria de verificar se é integridade "antes" da descompactação).

Eu sei que poderia empacotá-lo novamente em algum formato que suporte checksums (como rar ), mas é um custo computacional para "reembalar" coisas, apenas para adicionar checksum (por outro lado, não gosto de rar format) . Então, o preferido seria algo como gzip & gunzip etc, mas para adicionar, verificar e remover a soma de verificação.

Quaisquer ferramentas, ideias, scripts, soluções alternativas?

Estou certo? .xz e .gz concatenação de suporte? Talvez valha a pena usar esse recurso para anexar soma de verificação comprimida no final do arquivo?

    
por Grzegorz Wierzowiecki 22.11.2011 / 11:46

1 resposta

5
cat file.gz file.gz.sig > transfer_me.signed

Em seguida, no host remoto, você divide a soma de verificação anexada usando

tail -c length_of_the_checksum_info transfer_me.signed > file.gz.sig
head -c -length_of_the_checksum_info transfer_me.signed > file.gz

Observe o menos no segundo comando. A duração depende do tipo de soma de verificação que você usa. Você pode ter apenas

md5sum file.gz | cut -d ' ' -f 1 > file.gz.sig

Observe também que, dessa forma, você também pode descompactar o arquivo transfer_me.signed sem dividir, porque tar ignorará o "lixo" à direita.

Uma solução semelhante, com mecanismos adicionais de criptografia ou criptografia, é usada para assinar atualizações para muitos dispositivos móveis - por exemplo, o Amazon Kindles . Mas, no caso deles, a identificação do arquivo de archive é indesejada, então eles colocam todas as informações de impressão digital no início de um arquivo de atualização.

    
por 22.11.2011 / 12:50