Come ottenere hash md5 di un file

Come ottenere hash md5 di un file
L'algoritmo di Digest Message-Digest, comunemente noto come Hash MD5, è un tipo di funzione di hash crittografiche principalmente utilizzata per verificare l'integrità dei file. MD5 è un digest di messaggi a 128 bit prodotto dopo aver eseguito la funzione MD5 contro un file.

MD5 ha i suoi difetti e quindi non è un'ottima scelta per alcuni metodi di crittografia, ma è molto adatto per la verifica dei file. Funziona creando un checksum di un file e confrontando il risultato con l'originale. Ciò significa che se ci sono modifiche in un file, non è possibile produrre un valore digest simile all'originale. Il valore rimane costante, indipendentemente da dove generato o quante volte fintanto che il file rimane invariato.

Per questa guida, esamineremo i modi per generare un valore hash MD5 di un file. Ciò ti consentirà di verificare l'integrità dei file da posizioni remote o sulla macchina locale.

Installa md5sum

In Linux e sistemi quasi unix e simili a unix, vengono preinstallati con uno strumento MD5. Il più comune è md5sum. Per impostazione predefinita, dovresti trovarlo disponibile nel tuo sistema.

$ quale md5sum
/usr/bin/md5sum

Se non è installato lo strumento, è possibile utilizzare il gestore dei pacchetti del sistema.

Debian/Ubuntu
Su Ubuntu e altre distribuzioni basate su Debian, usa APT come:

Sudo Apt-get Aggiornamento
sudo apt -get installa md5sum -y

Rehl/centos
Su REHL e CENTOS, usa Yum come:

Sudo Yum Aggiornamento
sudo yum installa md5sum

Arch/Manjaro
Se sei su Manjaro o altre distribuzioni basate sull'arco, usa Pacman usando il comando:

Sudo Pacman -sy
sudo pacman -s md5sum

Fedora
Infine, sui sistemi Fedora, usa il comando DNF come:

Sudo DNF Aggiornamento
sudo dnf installa md5sum

Generare md5sum di un file

Con lo strumento installato, possiamo procedere e generare un MD5Sum per un file. Puoi utilizzare qualsiasi file di base disponibile nel tuo sistema. Nel mio esempio, sto usando i /etc /host disponibili nei sistemi Linux.

Per generare il md5sum di un file, usa semplicemente il comando md5sum seguito dal nome file, che puoi vedere nel comando seguente:

sudo md5sum /etc /host

Il comando sopra dovrebbe generare un valore di hash del file come mostrato nell'output di seguito:

f0ea6f62e5a12ed9aee557b23842c6f6 /etc /hosts

Una volta che il contenuto della modifica del file, il valore MD5SUM diventa completamente diverso. Ad esempio, aggiungi un valore al file/etc/host.

sudo nano /etc /host

Aggiungi la seguente voce al file (non esitare a cambiare in qualsiasi modo si vede opportuno).

192.168.0.20 Localhost

Se si tenta di calcolare il valore MD5 del file con i nuovi contenuti come:

sudo md5sum /etc /host

Il valore hash è diverso come mostrato nell'output di seguito:

f4b7f54d5b85a9e73e3c8960c6e9319e /etc /hosts

Se si ripristina il file al contenuto originale, il valore MD5Sum è simile all'originale, permettendoti di sapere quando un file è cambiato.

NOTA: Il valore MD5 sarà simile all'originale anche se il file viene rinominato. Questo perché MD5 è calcolato in base al contenuto del file e non al nome file.

Verifica i file online

Supponiamo di voler verificare l'integrità di un file e assicurarti che sia a prova di manomissione. Per fare questo, tutto ciò di cui hai bisogno è il valore MD5 originale. Nel mio esempio, sto usando un semplice pacchetto Deb di MySQL dalla risorsa di seguito:

https: // dev.mysql.com/downloads/mysql/

Scarica il file con wget usando il comando come:

wget https: // dev.mysql.com/get/downloads/mysql-8.0/libmysqlclient21_8.0.25-1DEBIAN10_AMD64.Deb

Una volta scaricato il file:

Verifichiamo ora il valore MD5 usando un comando:

$ md5sum libmysqlclient21_8.0.25-1DEBIAN10_AMD64.Deb

Se il file non è stato modificato in alcun modo, è necessario ottenere un valore simile all'originale come mostrato:

62EA69F71DEFBFDAC7A60C124F5769C7 libmysqlclient21_8.0.25-1DEBIAN10_AMD64.Deb

Conclusione

Questo tutorial ha esaminato un semplice metodo per verificare il checksum MD5 dei file e verificare il loro stato di modifica.

Ecco un rapido esercizio per te.

Esercizio

Crea un semplice script bash che controlla se un valore MD5 del file ha una modifica registrata ogni 5 minuti. Se il file è stato modificato, elimina il file e spegnere il sistema.

Questo dovrebbe essere un esercizio divertente!