En enklere måte å sammenligne md5-kontrollsum på?

Etter å ha lastet ned en fil som har en md5-kontrollsum tilgjengelig, sjekker jeg den for øyeblikket med

md5 *file* | grep *given_checksum* 

f.eks

md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2 

men det virket morsomt for meg å kreve grep og pipen for det som helt sikkert er en veldig vanlig oppgave. En klistremerke for å gjøre ting effektivt, jeg lurte på at det er en bedre måte å gjøre dette på?

Kommentarer

  • Hva slags verktøy er det md5? Fra hvilken pakke kommer den?
  • Jeg skjønte ikke ' t det var annerledes før jeg faktisk stilte dette spørsmålet og begynte å se på svarene, men jeg ' m bruker bash på OS X og det ' s Apple ' s eget verktøy som ikke ' t har alternativet -c. Tilsynelatende sluttet de å pakke md5sum i 10.5 … Jeg ' har nå installert det originale unix md5sum-verktøyet.

Svar

md5sum har et -c alternativ for å sjekke et eksisterende sett med summer, og dets exit status indikerer suksess / fiasko.

Eksempel:

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

Finn en fin ressurs her

Kommentarer

  • Takk. Bare for ferdigstillelse bruker jeg nå md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext" som virker renere enn å involvere grep!
  • hmm, ikke mye forbedring av den opprinnelige $ md5 -filen | grep given_checksum , og hvis du vil bruke store og små bokstaver, må du holde deg til grep -i
  • Jeg fikk no properly formatted MD5 checksum lines found da jeg brukte md5sum -c <file.md5> <file> men denne kommandoen fungerte for meg.

Svar

Den vanlige bash-måten ville være:

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

Svar

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

Dette forteller deg ok hvis de er de samme.

Dette fungerer også med tjære.

Svar

Inspirert av psusis svar

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

Jeg brukte cut da ikke alle md5 er lagret på samme måte. Eksempel

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *