
Kada preuzimamo velike datoteke s interneta, kao što su ISO slike operativnih sustava (primjerice Debian, Fedora ili Ubuntu), instalacijski paketi softvera ili kritične baze podataka, uvijek postoji rizik od pogrešaka pri prijenosu. Mrežni prekidi, pogreške na serveru ili čak maliciozne izmjene mogu uzrokovati da datoteka koju smo preuzeli ne bude identična originalu. Upravo ovdje u pomoć dolazi koncept “hashiranja” i MD5 funkcija, koja nam omogućuje brzu i preciznu provjeru integriteta podataka bez potrebe za ponovnim preuzimanjem cijelog sadržaja.
U ovom vodiču detaljno ćemo istražiti što je zapravo MD5 hash-vrijednost (sažetak), kako ona funkcionira i na koji način možete koristiti terminal u Linuxu kako biste potvrdili da su vaše datoteke sigurne i netaknute.
Što je zapravo MD5 hash-vrijednost i čemu služi?
MD5 (Message Digest 5) je kriptografska hash funkcija koju je 1991. godine dizajnirao Ronald Rivest kao zamjenu za raniju verziju, MD4. Njegova primarna svrha nije enkripcija (koja služi za skrivanje podataka), već stvaranje jedinstvenog “digitalnog otiska” datoteke. Bez obzira na to koliko je datoteka velika – bilo da se radi o malom tekstualnom dokumentu od nekoliko bajtova ili ISO slici od nekoliko gigabajta – MD5 funkcija će uvijek generirati fiksni izlaz od 128 bita, što se u praksi prikazuje kao heksadecimalni broj od 32 znaka.
Ključna karakteristika hash funkcije je to što čak i najmanja promjena u izvornom dokumentu (npr. promjena jednog razmaka ili jedne točke) rezultira potpuno različitim hash-vrijednostima. Zbog toga se MD5 koristi za provjeru integriteta: ako se hash-vrijednost datoteke koju ste preuzeli podudara s onom koju je objavio autor na službenoj stranici, možete biti sigurni da je datoteka identična originalu.
Važno je napomenuti da se MD5 danas više ne smatra sigurnim za kriptografske svrhe visokog rizika (poput spremanja lozinki) jer su s vremenom otkrivene ranjivosti koje omogućuju tzv. “kolizije” (situacije gdje dvije različite datoteke imaju isti sažetak). Za maksimalnu sigurnost preporučuju se modernije funkcije poput SHA-256, no za običnu provjeru integriteta datoteka prilikom preuzimanja, MD5 je i dalje široko zastupljen i koristan alat.
Praktično korištenje naredbe md5sum u Linuxu
Većina Linux distribucija dolazi s već instaliranim paketom alata za provjeru hash-vrijednosti. Glavna naredba kojom upravljamo MD5 provjerama je md5sum. Korištenje ove naredbe je intuitivno i odvija se izravno u terminalu.
Provjera pojedinačne datoteke
Da biste saznali MD5 hash-vrijednost određene datoteke, otvorite terminal i upišite sljedeću naredbu:
md5sum ime_datoteke
Nakon izvršavanja, terminal će ispisati 32-znamenkasti niz znakova, a zatim i ime datoteke. Primjer ispisa za ISO sliku Ubuntu sustava izgleda ovako:
b950a4d7cf3151e5f213843e2ad77fe3 ubuntu-22.04-desktop-amd64.iso
Kako biste potvrdili integritet, ovaj dobiveni niz usporedite s onim koji se nalazi na web stranici s koje ste preuzeli datoteku. Najsigurniji način za usporedbu je kopiranje oba niza u običan tekstualni editor i korištenje funkcije “Traži” (Find) kako biste izbjegli ljudsku pogrešku pri vizualnom čitanju dugih nizova znakova.
Automatizirana provjera više datoteka
Kada imate veći broj datoteka koje trebate provjeriti, ručna usporedba postaje nepraktična. Linux nudi mogućnost automatizirane provjere pomoću tekstualne datoteke koja sadrži očekivane hash-vrijednosti.
Postupak je sljedeći:
- Kreirajte običnu tekstualnu datoteku (npr.
provjera.txt). - U nju upišite hash-vrijednosti i imena datoteka u sljedećem formatu (svaka datoteka u novom redu):
hash1 ime_datoteke1hash2 ime_datoteke2hash3 ime_datoteke3 - Spremite datoteku u isti direktorij u kojem se nalaze i datoteke koje provjeravate.
- U terminalu pokrenite naredbu:
md5sum -c provjera.txt.
Opcija -c (check) govori programu da pročita datoteku i automatski usporedi izračunate vrijednosti s onima u tekstu. Ako je sve u redu, za svaku datoteku dobit ćete potvrdu: ime_datoteke: OK.
Savjeti za sigurnost i česte pogreške
Iako je proces jednostavan, korisnici često nailaze na probleme koji mogu dovesti do pogrešnih zaključaka. Evo nekoliko ključnih savjeta i najčešćih pogrešaka:
- Pogrešan put do datoteke: Ako
md5sumne može pronaći datoteku, provjerite nalazite li se u pravom direktoriju pomoću naredbepwdili navedite puni put do datoteke (npr.md5sum /home/korisnik/Downloads/slika.iso). - Razmaci u imenima datoteka: Ako ime vaše datoteke sadrži razmake, obavezno ga stavite pod navodnike, primjerice:
md5sum "moja velika datoteka.zip". U suprotnom će terminal interpretirati razmak kao početak nove naredbe. - Razlika između MD5 i SHA: Ponekad će autor datoteke ponuditi više različitih hash-vrijednosti (MD5, SHA-1, SHA-2