Un modo più semplice per confrontare il checksum md5?

Dopo aver scaricato un file con un checksum md5 disponibile, attualmente lo controllo con

md5 *file* | grep *given_checksum* 

eg

md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2 

ma mi è sembrato divertente richiedere grep e pipe per quello che è sicuramente un compito molto comune. Appassionato di fare le cose in modo efficiente, mi chiedevo che ci fosse un modo migliore per farlo?

Commenti

  • Che tipo di strumento è questo md5? Da quale pacchetto proviene?
  • ' non mi ero reso conto che fosse diverso finché non ho posto questa domanda e ho iniziato a cercare le risposte, ma ' m utilizzando bash su OS X e lo strumento ' Apple ' che non ' non hai lopzione -c. Apparentemente hanno smesso di raggruppare md5sum nella versione 10.5 … ' ho installato lo strumento originale unix md5sum.

Risposta

md5sum ha unopzione -c per controllare un insieme di somme esistente e il relativo lo stato di uscita indica successo / fallimento.

Esempio:

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

Trova una bella risorsa qui

Commenti

  • Grazie. Solo per il completamento, ora uso md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext" che sembra più pulito rispetto al coinvolgimento di grep!
  • hmm, non molti miglioramenti al file $ md5 originale | grep given_checksum e se vuoi usare una stringa senza distinzione tra maiuscole e minuscole devi restare con grep -i
  • Stavo ottenendo no properly formatted MD5 checksum lines found quando ho utilizzava md5sum -c <file.md5> <file> ma questo comando ha funzionato per me.

Risposta

Il solito modo bash sarebbe:

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

Risposta

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

Questo ti dirà Ok se sono la stessa cosa.

Funziona anche con tar.

Risposta

Ispirato dalla risposta di psusi

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

Ho utilizzato cut perché non tutti i md5 sono memorizzati nello stesso modo. Esempio

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *