Un modo più semplice di confrontare checksum md5?


11

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

md5 *file* | grep *given_checksum*

per esempio

md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2

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


Che tipo di strumento è quello md5? Da quale pacchetto proviene?
arte

Non mi ero reso conto che fosse diverso fino a quando non ho effettivamente posto questa domanda e ho iniziato a cercare le risposte, ma sto usando bash su OS X ed è lo strumento di Apple che non ha l'opzione -c. Apparentemente hanno smesso di raggruppare md5sum in 10.5 ... Ora ho installato lo strumento unix md5sum originale.
Ben Griffiths,

Risposte:


20

md5sumha -cun'opzione per controllare un insieme esistente di somme e il suo stato di uscita indica successo / fallimento.

Esempio:

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

Trova una bella risorsa qui


4
Grazie. Solo per il completamento, ora uso quello md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext"che sembra più pulito rispetto al coinvolgimento di grep!
Ben Griffiths,

hmm, non c'è molto miglioramento rispetto al file $ md5 originale | grep given_checksum e se si desidera utilizzare una stringa senza distinzione tra maiuscole e minuscole, è necessario attenersi a grep -i
StandardNerd

Stavo ottenendo no properly formatted MD5 checksum lines foundquando stavo usando md5sum -c <file.md5> <file>ma questo comando ha funzionato per me.
Vishrant,

1

Il solito modo bash sarebbe:

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

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

Questo ti dirà Ok se sono uguali.

Funziona anche con tar.


0

Ispirato dalla risposta di psusi

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

Ho usato cutcome non tutti md5sono memorizzati allo stesso modo. Esempio

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.