Como verificar o CRC de um arquivo?


Respostas:


17

Como sempre (talvez algumas vezes), o google é meu amigo:

$ sudo apt-get install libarchive-zip-perl
$ crc32 my_file

2
perl-Archive-Zipno fedora, lembre-se
Nemo

Muito útil para comparar se um arquivo dentro de um JAR é a versão correta.
Jjj

2
Adicionando o que Nemo disse, para CentOs, Redhat, Fedora e outras distribuições similares, a biblioteca é instalada comyum install perl-Archive-Zip
Terry

12

Uma maneira de calcular é:

cksum "file"

Outro é

crc32 "file"

Para usar este último comando, você precisa instalar o libarchive-zip-perlpacote


5
cksumnão é compatível com crc32, ele usa diferente algoritmo
red75prime

4

Eu usaria o interno md5sumdos programas sha fornecidos:

sha1sum (1)          - compute and check SHA1 message digest
sha224sum (1)        - compute and check SHA224 message digest
sha256sum (1)        - compute and check SHA256 message digest
sha384sum (1)        - compute and check SHA384 message digest
sha512sum (1)        - compute and check SHA512 message digest

cksum está praticamente ultrapassado nos dias de hoje por causa de seus problemas.


11
Que problemas? Quero saber se dois arquivos são duplicados - cksumnão é bom o suficiente para esse fim?
Marc.2377 24/11/19

Talvez o "problema" seja o fato de o CRC não ser um hash criptográfico (o que significa que é fácil criar dois arquivos com conteúdos diferentes que tenham o mesmo CRC, se é isso que você está tentando fazer). No entanto, quando você está falando de erros aleatórios, o CRC não é tão ruim quanto o AFAIK.
AnthonyD973 28/01

2

cksfvO aplicativo do cksfvpacote também gera a soma de verificação CRC32.


2
você poderia dar um exemplo de uso?
Zanna

cksfv -c "file"imprime o CRC32 em stdout. Se você deseja suprimir o cabeçalho, a cksfv -c "file" 2>/dev/null | grep -v ^\;fornece o nome do arquivo + CRC32 e nenhum aviso para um diretório.
emk2203
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.