6
votes

BSD MD5 VS Format de sortie GNU MD5SUM?

Chacun sait pourquoi le programme BSD MD5 produit une sortie de hasch dans ce format ... xxx pré>

... tandis que gnu md5sum produit un format beaucoup plus sensible comme celui-ci? P>

9eb7a54d24dbf6a2eb9f7ce7a1853cd0 checksum.md5


4 commentaires

pourrait aller sur PowerUser / Serverfault mais n'appartient pas vraiment ici.


... ou est-ce superutilisateur? Je ne me souviens jamais


MD5 -R produira quelque chose de remarquablement similaire à MD5Sum (checksum, puis nom de fichier). Par exemple, trouver. -Type f -print00 | xargs -0 md5 -r répertorie les checksums MD5 pour tous vos fichiers.


L'utilité du MD5 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 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 sensible à moi.


4 Réponses :


5
votes

raisons historiques, je suppose. Pendant ce temps, -q supprimer "MD5 (...) =" Sortie, de sorte que md5 -q checksum.md5 donne xxx pré>

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.


1 commentaires

et maintenant que je suis habitué à "-q" il semble n'y avoir pas d'équivalent GNU



0
votes

On peut utiliser le gnu md5sum -c checksum.md5 qui recherchera le fichier checksum et vérifier par rapport au contenu de fichier checksum.md5 contenu de fichier .

md5sum -c checksum.md5 | Grep "Checksum: OK" -

Exemple à l'intérieur d'un système de système Ruby Pour vérifier un fichier BSD formaté .MD5:

Système ("MD5SUM -C CheckSum.md5 | Grep \" Checksum: OK \ "-")

Cela reviendra vrai ou faux.


0 commentaires

2
votes

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#'"'"


1 commentaires

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.



6
votes

sur les systèmes OS X BSD actuels Vous pouvez spécifier la commande MD5 -R forte> pour obtenir la sortie attendue.

sgwilbur@gura:/vms/DevOps-v3.4$ md5 -r vmware*
61ba1d68a144023111539abee08f4044 vmware-0.log
97bc6f22b25833c3eca2b2cc40b83ecf vmware-1.log
f92a281102710c4528d4ceb88aa0ac9b vmware-2.log
1f7858d361929d4bc5739931a075c0ad vmware.log


0 commentaires