Wie überprüfe ich crc einer Datei?

10

Ich habe diese Frage gesucht und es erscheint alles außer crc. Gibt es einen guten Ubuntu-Weg, um dies zu tun?

Alter Lagos
quelle
CRC bedeutet Cyclic Redundancy Check. Es ist eher eine Art (unsicherer) Hash als ein bestimmter Standard. en.wikipedia.org/wiki/Cyclic_redundancy_check listet viele Arten von CRC auf. (CRC32 ist vielleicht die häufigste.)
mwfearnley

Antworten:

17

Wie immer (vielleicht manchmal) ist Google mein Freund:

$ sudo apt-get install libarchive-zip-perl
$ crc32 my_file
Alter Lagos
quelle
2
perl-Archive-Zipin Fedora, wohlgemerkt
Nemo
Sehr hilfreich für den Vergleich, dass eine Datei in einer JAR die richtige Version ist.
JJJ
1
Zusätzlich zu dem, was Nemo gesagt hat, wird die Bibliothek für CentOs, Redhat, Fedora und ähnliche Distributionen installiertyum install perl-Archive-Zip
Terry
12

Eine Möglichkeit, dies zu berechnen, ist folgende:

cksum "file"

Ein anderer ist

crc32 "file"

Um diesen letzten Befehl verwenden zu können, müssen Sie das libarchive-zip-perlPaket installieren

Löwe
quelle
5
cksumist nicht kompatibel mit crc32, es verwendet einen anderen Algorithmus
red75prime
4

Ich würde das interne md5sumder bereitgestellten sha-Programme verwenden:

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 ist heutzutage wegen seiner Probleme ziemlich veraltet.

mdpc
quelle
1
Welche Probleme? Ich möchte wissen, ob zwei Dateien Duplikate sind - ist das cksumnicht gut genug für diesen Zweck?
März 2377
Vielleicht ist das "Problem" die Tatsache, dass CRC kein kryptografischer Hash ist (was bedeutet, dass es als einfach angesehen wird, zwei Dateien mit unterschiedlichen Inhalten zu erstellen, die dieselbe CRC haben, wenn Sie dies versuchen). Wenn Sie jedoch über zufällige Fehler sprechen, ist CRC keine schlechte AFAIK.
AnthonyD973
2

cksfvApp aus cksfvPaket generiert auch CRC32-Prüfsumme.

Miki
quelle
2
Könnten Sie ein Anwendungsbeispiel geben?
Zanna
cksfv -c "file"druckt den CRC32 nach stdout. Wenn Sie den Header unterdrücken möchten, cksfv -c "file" 2>/dev/null | grep -v ^\;gibt a den Dateinamen + CRC32 und keine Warnung für ein Verzeichnis an.
emk2203