Existe formato de arquivo para somas de verificação?

2

Eu quero armazenar a soma de verificação SHA512 do arquivo para o meu aplicativo. Como fazê-lo de maneira comum (popular)? Portanto, essa soma de verificação pode ser usada, mas também por aplicativos de terceiros.

    
por ShyBoy 21.10.2011 / 06:02

3 respostas

6

Escreva a soma de verificação como dígitos hexadecimais minúsculos seguidos de dois espaços e, em seguida, o nome do arquivo, com um arquivo por linha. Este é o formato usado por md5sum e as várias ferramentas sha*sum CLI.

$ sha512sum t.txt
d663b43c84ab4ba20040e568d3cb799512fcc00f1053f96f3079345f680b39429adc92f9c8c45fc9ae6053173ddc5b35ade25ae1d5c91e57b809d0c021d5c891  t.txt

$ sha512sum -c <(sha512sum t.txt)
t.txt: OK
    
por 21.10.2011 / 07:08
2

TL; DR

O formato do arquivo é a saída do comando que você usa para gerar o resumo.

$ shasum -a 512 [FILE] > SHA512SUM # create a checksum file (SHA512SUM)
$ shasum -c SHA512SUM              # verify [FILE] from checksum file
[FILE]: OK                         # output

Veja estes outros comandos do linux para maneiras simples de gerar um arquivo de soma de verificação

Resposta longa

Depende de qual implementação de shamum você está usando para verificar seu arquivo de soma de verificação.

Se você estiver usando uma implementação de perl ( $ shamum -c [FILE] ), poderá encontrar a resposta nas páginas man. veja $ man shasum

When checking, the input should be a former output of this program. The default mode is to print a line with checksum, a character indicating type ('*' for binary,' ' for text, '?' for portable, '^' for BITS), and name for each FILE.

Se você estiver usando uma implementação GNU ( $ sha512sum -c [FILE] ), então a resposta pode ser encontrada em coreutils documentação :

NOTA: A documentação do GNU sha digests referencia a documentação do md5sum digest

For each file, ‘md5sum’ outputs by default, the MD5 checksum, a space, a flag indicating binary or text input mode, and the file name. Binary mode is indicated with ‘*’, text mode with ‘ ’ (space). Binary mode is the default on systems where it’s significant, otherwise text mode is the default. If file contains a backslash or newline, the line is started with a backslash, and each problematic character in the file name is escaped with a backslash, making the output unambiguous even in the presence of arbitrary file names. If file is omitted or specified as ‘-’, standard input is read.

    
por 16.09.2016 / 19:59
1

Todos os arquivos schecksum que eu vi eram apenas arquivos ASCII que continham apenas a soma de verificação. Desta forma, eles podem ser facilmente comparados com as saídas do comando checksum.

A boa prática é indicar o algoritmo de soma de verificação usado com um sufixo de nome de arquivo, por exemplo, .md5 ou .crc .

    
por 21.10.2011 / 12:08