Как проверить 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.


2
Не могли бы вы привести пример использования?
Занна

cksfv -c "file"печатает CRC32 на стандартный вывод. Если вы хотите подавить заголовок, a cksfv -c "file" 2>/dev/null | grep -v ^\;дает имя файла + CRC32 и не предупреждает каталог.
emk2203
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.