Chacun sait pourquoi le programme BSD MD5 produit une sortie de hasch dans ce format ... ... tandis que gnu md5sum produit un format beaucoup plus sensible comme celui-ci? P> 9eb7a54d24dbf6a2eb9f7ce7a1853cd0 checksum.md5
4 Réponses :
raisons historiques, je suppose. Pendant ce temps, -q supprimer "MD5 (...) =" Sortie, de sorte que md5 -q checksum.md5 donne ceci est impliqué si MD5 n'est pas donné aucun argument et se lit de stdin .
Malheureusement, MD5Sum dans ce cas laisse "-" Derrière la somme de contrôle ("9EB7A54D24DBF6A2EB9F7CE7A1853CD0 -"),
Donc, si vous recherchez une fonction générique pour renvoyer la somme de contrôle, voici ce qui pourrait aider: P> -q Quiet mode â only the checksum is printed out. Overrides the -r
option.
-r Reverses the format of the output. This helps with visual diffs.
Does nothing when combined with the -ptx options.
-t Run a builtâin time trial.
-x Run a builtâin test script.
et maintenant que je suis habitué à "-q" il semble n'y avoir pas d'équivalent GNU
On peut utiliser le gnu Exemple à l'intérieur d'un système de système Ruby Pour vérifier un fichier BSD formaté .MD5: p>
Cela reviendra vrai ou faux. P> md5sum -c checksum.md5 code> qui recherchera le fichier
checksum code> et vérifier par rapport au contenu de fichier
checksum.md5 code> contenu de fichier . p>
md5sum -c checksum.md5 | Grep "Checksum: OK" - code> p>
Système ("MD5SUM -C CheckSum.md5 | Grep \" Checksum: OK \ "-") CODE> P>
Je réalise que c'est une ancienne page, mais je faisais des checksums sur FreeBSD et les en consultais sur Linux et je suis tombé sur cette page aussi. Cette page ne m'a pas aidé à résoudre le problème, alors j'ai proposé ce petit script code> SED CODE> pour créer les checksums sur FreeBSD qui correspondent à la sortie Linux MD5Sum CODE> SORTIE:
alias md5sum "md5 \!* | sed -e '"'s#MD5 [(]\(.*\)[)] = \(.*\)$#\2 \1#'"'"
Le script SED m'a donné un espace moins que le GNU MD5Sum sur Centos6 l'a fait. NBD, mais "DIFF" n'a pas fonctionné sans le masser légèrement.
sur les systèmes OS X BSD actuels Vous pouvez spécifier la commande sgwilbur@gura:/vms/DevOps-v3.4$ md5 -r vmware*
61ba1d68a144023111539abee08f4044 vmware-0.log
97bc6f22b25833c3eca2b2cc40b83ecf vmware-1.log
f92a281102710c4528d4ceb88aa0ac9b vmware-2.log
1f7858d361929d4bc5739931a075c0ad vmware.log
pourrait aller sur PowerUser / Serverfault mais n'appartient pas vraiment ici.
... ou est-ce superutilisateur? Je ne me souviens jamais
MD5 -R code> produira quelque chose de remarquablement similaire à
MD5Sum code> (checksum, puis nom de fichier). Par exemple,
trouver. -Type f -print00 | xargs -0 md5 -r code> répertorie les checksums MD5 pour tous vos fichiers.
L'utilité du
MD5 code> pourrait être que l'algorithme de hachage peut être déduit du fichier lui-même, plutôt que supposé. Considérez que
9EB7A54D24DBF6A2EB9F7CE7A1853CD0 myFile.txt code> ne vous dit pas ce que le hachage utilisé était. Considérez également le désordre complet créé en disposant de «texte brut» sans y compris le fichier codant dans celui-ci. En incluant l'algorithme de hachage, il est sans ambiguïté de ce que la hachage devrait être utilisée à la comparaison. Le format de BSD semble plus i> sensible à moi.