En enklere måde at sammenligne md5 kontrolsum på?

Efter download af en fil, der har en md5-kontrolsum tilgængelig, tjekker jeg den i øjeblikket med

md5 *file* | grep *given_checksum* 

f.eks.

md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2 

men det syntes mig sjovt at kræve grep og pipen til hvad der helt sikkert er en meget almindelig opgave. En klistremaskine til at gøre tingene effektivt, jeg spekulerede på, at der er en bedre måde at gøre dette på?

Kommentarer

  • Hvilken slags værktøj er det md5? Fra hvilken pakke det kommer?
  • Jeg forstod ikke ' at det var anderledes, indtil jeg faktisk stillede dette spørgsmål og begyndte at undersøge svarene, men jeg ' m ved hjælp af bash på OS X og det ' s Apple ' s eget værktøj, der ikke ' t har -c-indstillingen. Tilsyneladende stoppede de med at samle md5sum i 10.5 … Jeg ' har nu installeret det originale unix md5sum-værktøj.

Svar

md5sum har en -c mulighed for at kontrollere et eksisterende sæt summer og dets exit-status angiver succes / fiasko.

Eksempel:

$ echo "ff9f75d4e7bda792fca1f30fc03a5303 package.deb" | md5sum -c - package.deb: OK 

Find en dejlig ressource her

Kommentarer

  • Tak. Bare til afslutning bruger jeg nu md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext" som synes renere end at involvere grep!
  • hmm, ikke meget forbedring af den originale $ md5 fil | grep given_checksum og hvis du vil bruge store og små bogstaver, skal du holde fast med grep -i
  • Jeg fik no properly formatted MD5 checksum lines found da jeg brugte md5sum -c <file.md5> <file>, men denne kommando fungerede for mig.

Svar

Den sædvanlige bash-måde ville være:

shopt -s nocasematch if [[ $(md5sum "$file") = 5d40f31729c992b5a0e67490689fe8ff* ]] 

Svar

md5sum -c <filename>.zip.md5 <filename>.zip 

Dette fortæller dig ok, hvis de er de samme.

Dette fungerer også med tjære.

Svar

Inspireret af psusis svar

echo "$(cut -f1 -d" " your_file.jar.md5) your_file.jar" | md5sum -c - 

Jeg brugte cut da ikke alle md5 er gemt på samme måde. Eksempel

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *