Как проверить crc файла?

10

Я искал этот вопрос и появляется все, кроме crc. Есть ли хороший способ для этого в Ubuntu?

Альтер Лагос
источник
CRC означает проверку циклическим избыточным кодом. Это тип (небезопасного) хэша, а не определенный стандарт. В en.wikipedia.org/wiki/Cyclic_redundancy_check перечислены многие виды CRC. (CRC32, пожалуй, самый распространенный.)
mwfearnley

Ответы:

17

Как всегда (возможно, иногда), Google - мой друг:

$ sudo apt-get install libarchive-zip-perl
$ crc32 my_file
Альтер Лагос
источник
2
perl-Archive-Zipв Fedora, заметьте
Nemo
Очень полезно для сравнения того, что файл внутри JAR является правильной версией.
Джей Джей
2
В дополнение к тому, что сказал Немо, для CentOs, Redhat, Fedora и подобных дистрибутивов, с yum install perl-Archive-Zip
Терри
12

Один из способов рассчитать это так:

cksum "file"

Еще один

crc32 "file"

Для использования этой последней команды вам необходимо установить libarchive-zip-perlпакет

Лео
источник
5
cksumнесовместим с crc32, он использует другой алгоритм
red75prime
4

Я бы использовал внутреннюю md5sumиз предоставленных программ ша:

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 в значительной степени устарел в наши дни из-за своих проблем.

Якорь,
источник
1
Какие проблемы? Я хочу знать, являются ли два файла дубликатами - cksumне достаточно ли для этого?
Marc.2377
Возможно, «проблема» заключается в том, что CRC не является криптографическим хэшем (то есть считается, что легко создать два файла с разным содержимым с одинаковым CRC, если вы пытаетесь это сделать). Тем не менее, когда вы говорите о случайных ошибках, CRC не так уж плохо AFAIK.
AnthonyD973
2

cksfvПриложение из cksfvпакета также генерирует контрольную сумму CRC32.

Miki
источник
2
Не могли бы вы привести пример использования?
Занна
cksfv -c "file"печатает CRC32 на стандартный вывод. Если вы хотите подавить заголовок, a cksfv -c "file" 2>/dev/null | grep -v ^\;дает имя файла + CRC32 и не предупреждает каталог.
emk2203