Comment vérifier le crc d'un fichier?

10

Je cherchais cette question et apparaît tout sauf crc. Existe-t-il un bon moyen Ubuntu pour le faire?

Alter Lagos
la source
CRC signifie contrôle de redondance cyclique. C'est un type de hachage (non sécurisé), plutôt qu'une norme spécifique. en.wikipedia.org/wiki/Cyclic_redundancy_check répertorie de nombreux types de CRC. (CRC32 est peut-être le plus courant.)
mwfearnley

Réponses:

17

Comme toujours (peut-être parfois), Google est mon ami:

$ sudo apt-get install libarchive-zip-perl
$ crc32 my_file
Alter Lagos
la source
2
perl-Archive-Zipin fedora, mind you
Nemo
Très utile pour comparer qu'un fichier à l'intérieur d'un JAR est la bonne version.
jjj
2
Ajout à ce que Nemo a dit, pour CentOs, Redhat, Fedora et autres distributions similaires, la bibliothèque est installée avecyum install perl-Archive-Zip
Terry
12

Une façon de le calculer est la suivante:

cksum "file"

Un autre est

crc32 "file"

Pour utiliser cette dernière commande, vous devez installer le libarchive-zip-perlpackage

Leo
la source
5
cksumn'est pas compatible avec crc32, il utilise un algorithme différent
red75prime
4

J'utiliserais l' md5sumun des programmes sha fournis:

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 à peu près dépassé ces jours-ci en raison de ses problèmes.

mdpc
la source
1
Quels problèmes? Je veux savoir si deux fichiers sont des doublons - n'est-ce cksumpas suffisant à cet effet?
Marc.2377
Le "problème" est peut-être le fait que le CRC n'est pas un hachage cryptographique (ce qui signifie qu'il est considéré comme facile de créer deux fichiers avec des contenus différents qui ont le même CRC si c'est ce que vous essayez de faire). Cependant, lorsque vous parlez d'erreurs aléatoires, CRC n'est pas trop mal AFAIK.
AnthonyD973
2

cksfvL'application du cksfvpackage génère également une somme de contrôle CRC32.

Miki
la source
2
pourriez-vous donner un exemple d'utilisation?
Zanna
cksfv -c "file"imprime le CRC32 sur stdout. Si vous souhaitez supprimer l'en-tête, a cksfv -c "file" 2>/dev/null | grep -v ^\;donne le nom de fichier + CRC32 et aucun avertissement pour un répertoire.
emk2203