Jak sprawdzić CRC pliku?


Odpowiedzi:


17

Jak zawsze (może czasami), Google jest moim przyjacielem:

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

2
perl-Archive-Zipw fedora, pamiętaj
Nemo

Bardzo pomocne przy porównywaniu, czy plik w pliku JAR jest poprawną wersją.
jjj

2
Dodając do tego, co powiedział Nemo, dla CentOs, Redhat, Fedora i podobnych dystrybucji, w których biblioteka jest zainstalowanayum install perl-Archive-Zip
Terry

12

Jednym ze sposobów na obliczenie tego jest:

cksum "file"

Kolejny to

crc32 "file"

Aby użyć tego ostatniego polecenia, musisz zainstalować libarchive-zip-perlpakiet


5
cksumnie jest kompatybilny crc32, używa innego algorytmu
red75prime 27.04.18

4

Użyłbym wewnętrznego md5sumjednego z dostarczonych programów sha:

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 jest obecnie przestarzały z powodu swoich problemów.


1
Jakie problemy? Chcę wiedzieć, czy dwa pliki są duplikatami - czy cksumnie wystarczy do tego celu?
Marc.2377,

Być może „problemem” jest to, że CRC nie jest hasłem kryptograficznym (co oznacza, że ​​utworzenie dwóch plików z różnymi treściami, które mają ten sam CRC, jest łatwe, jeśli próbujesz to zrobić). Jednak gdy mówisz o przypadkowych błędach, CRC nie jest tak źle AFAIK.
AnthonyD973

2

cksfvaplikacja z cksfvpakietu generuje również sumę kontrolną CRC32.


2
czy możesz podać przykład użycia?
Zanna,

cksfv -c "file"wypisuje CRC32 na standardowe wyjście. Jeśli chcesz pominąć nagłówek, a cksfv -c "file" 2>/dev/null | grep -v ^\;podaje nazwę pliku + CRC32 i brak ostrzeżenia dla katalogu.
emk2203
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.