MD5 har sine mangler og er derfor ikke et veldig godt valg for visse krypteringsmetoder, men det er veldig godt egnet for filverifisering. Det fungerer ved å lage en sjekksum av en fil og sammenligne resultatet med originalen. Det betyr at hvis det er endringer i en fil, er det ingen måte den kan gi en fordøyelsesverdi som ligner på originalen. Verdien forblir konstant uansett hvor generert eller hvor mange ganger så lenge filen forblir uendret.
For denne guiden skal vi se på måter å generere en MD5 -hasjverdi av en fil. Som lar deg bekrefte integriteten til filer enten fra eksterne steder eller på din lokale maskin.
Installer MD5Sum
I Linux og nesten store UNIX og UNIX-lignende systemer kommer de forhåndsinstallert med et MD5-verktøy. Den vanligste er md5sum. Som standard bør du finne det tilgjengelig i systemet ditt.
$ hvilken md5sumHvis du ikke har verktøyet installert, kan du bruke pakkebehandleren til systemet ditt.
Debian/Ubuntu
På Ubuntu og andre Debian -baserte distribusjoner, bruk APT som:
Rehl/centos
På Rehl og Centos, bruk Yum som:
Arch/Manjaro
Hvis du er på Manjaro eller andre buebaserte distribusjoner, bruk Pacman ved å bruke kommandoen:
Fedora
Til slutt, på Fedora Systems, bruk DNF -kommandoen som:
Generere md5sum av en fil
Med verktøyet installert, kan vi fortsette og generere en MD5Sum for en fil. Du kan bruke hvilken som helst grunnleggende fil som er tilgjengelig i systemet ditt. I mitt eksempel bruker jeg /etc /vertene som er tilgjengelige i Linux -systemer.
For å generere MD5Sum til en fil, bruk ganske enkelt MD5SUM -kommandoen etterfulgt av filnavnet, som du kan se i kommandoen nedenfor:
sudo md5sum /etc /verterKommandoen ovenfor skal generere en hasjverdi av filen som vist i utgangen nedenfor:
F0EA6F62E5A12ED9AEE557B23842C6F6 /ETC /VERTSNår innholdet i filen endres, blir MD5Sum -verdien helt annerledes. Legg for eksempel en verdi til/etc/hosts -filen.
sudo nano /etc /verterLegg til følgende oppføring i filen (kan du gjerne endre deg på noen måte du synes passer).
192.168.0.20 LocalhostHvis du prøver å beregne MD5 -verdien til filen med det nye innholdet som:
sudo md5sum /etc /verterHashverdien er forskjellig som vist i utgangen nedenfor:
f4b7f54d5b85a9e73e3c8960c6e9319e /etc /hostsHvis du tilbakestiller filen til det opprinnelige innholdet, er MD5Sum -verdien lik originalen, slik at du kan vite når en fil har endret seg.
MERK: MD5 -verdien vil være lik originalen selv om filen blir omdøpt. Dette er fordi MD5 beregnes basert på filinnhold og ikke filnavn.
Bekreft online filer
Anta at du vil bekrefte integriteten til en fil og sikre at den er tuklebasert. For å gjøre dette, er alt du trenger den opprinnelige MD5 -verdien. I mitt eksempel bruker jeg en enkel Deb -pakke med MySQL fra ressursen nedenfor:
https: // dev.mysql.com/nedlastinger/mysql/
Last ned filen med Wget ved å bruke kommandoen som:
wget https: // dev.mysql.com/få/nedlastinger/mysql-8.0/libmysqlclient21_8.0.25-1debian10_amd64.DebNår filen har lastet ned:
La oss nå bekrefte MD5 -verdien ved hjelp av en kommando:
$ md5sum libMysqlclient21_8.0.25-1debian10_amd64.DebHvis filen ikke er endret på noen måte, bør du få en lignende verdi som originalen som vist:
62A69f71defbfdac7a60c124f5769c7 libmysqlclient21_8.0.25-1debian10_amd64.DebKonklusjon
Denne opplæringen så på en enkel metode for å bekrefte MD5 -sjekksum av filer og bekrefte deres modifiseringsstatus.
Her er en rask øvelse for deg.
Trening
Lag et enkelt bash -skript som sjekker hvis en fil MD5 -verdi har noen registrert modifisering hvert 5. minutt. Hvis filen har endret seg, slett filen og slå av systemet.
Det burde være en morsom øvelse!