Izračunati checksum datoteke
- Nadzorna ploča
- Dokumentacija
- API
Što je kontrolni zbroj?
Kontrolni zbroj (ponekad se piše chksum) je jedinstveni digitalni otisak izračunat iz sadržaja datoteke algoritmom raspršivanja. Ovaj otisak prsta, ili otisak prsta, općenito je predstavljen heksadecimalnim nizom fiksne duljine.
Temeljno svojstvo dobrog algoritma za raspršivanje je učinak lavine: svaka izmjena izvorne datoteke, čak i jednim bitom, proizvodi radikalno drugačiji kontrolni zbroj. Dvije datoteke sa potpuno identičnim sadržajem uvijek proizvode isti kontrolni zbroj, bez obzira na naziv datoteke, datum izmjene ili operativni sustav.
Kontrolni zbroj uglavnom se koristi za provjeru integriteta datoteke: ako lokalno ponovno izračunati otisak odgovara onom koji je najavio izdavač, datoteka je netaknuta. U suprotnom je izmijenjen, oštećen u prijenosu ili modificiran.
Za što se zapravo koristi?
- Provjerite integritet preuzimanja: Linux ISO (Debian, Ubuntu, Fedora, Arch), Docker slika, Windows instalacijski program ili arhiva otvorenog koda sustavno objavljuju službeni kontrolni zbroj. Lokalno ponovno izračunavanje potvrđuje da je datoteka potpuna i nepromijenjena.
- Otkrijte oštećenje u prijenosu: presječeno preuzimanje, neispravan sektor diska, nestabilan RAM, neispravan mrežni kabel ili kopija na USB ključu mogu oštetiti bajtove. Kontrolni zbroj odmah otkriva te tihe pogreške.
- Otisak prsta potpisa: potvrdite da datoteka dolazi od očekivanog autora kada se kontrolni zbroj emitira putem sigurnog kanala (HTTPS, GPG potpis). Ovo je mehanizam iza spremišta Linux paketa i pohrana aplikacija.
- Određivanje verzija i predmemorija: Git identificira svaki commit, blob i stablo s SHA-1 hashom (migriranje na SHA-256). CDN-ovi i web paketi (Webpack, Vite, esbuild) ubacuju hash u naziv datoteke (
app.4a8f2c.js) kako bi automatski poništili predmemoriju preglednika nakon promjene. - Otkrivanje duplikata i deduplikacija: inkrementalne sigurnosne kopije (Borg, Restic, rsync), datotečni sustavi (ZFS) i pohrana objekata identificiraju identične blokove pomoću hash vrijednosti za pohranu samo jedne kopije.
- Provjera valjanosti prijenosa: klijent šalje očekivani kontrolni zbroj, poslužitelj ga ponovno izračunava po primitku. AWS S3, na primjer, prihvaća zaglavlje
Content-MD5ilix-amz-checksum-sha256za odbijanje oštećenog prijenosa. - Obavještavanje o prijetnjama i antivirusni program: VirusTotal i dobavljači antivirusnih programa indeksiraju zlonamjerne datoteke pomoću SHA-256 hash-a, koji omogućuje otkrivanje bez prijenosa pune binarne datoteke.
Podržani algoritmi i razlike
- MD5 (128 bita, 32 heksadecimalna znaka): brz, široko rasprostranjen, ali kriptografski slomljen. MD5 kolizije mogu se izračunati u nekoliko sekundi na trenutnom hardveru od 2004. Koristiti samo za provjeru integriteta bez zlonamjernog namjere (preuzimanje u slučaju ispada mreže, lokalna sigurnosna kopija). Zabranjeno za bilo koju sigurnosnu funkciju, potpis ili provjeru autentičnosti.
- SHA-1 (160 bitova, 40 heksadecimalnih znakova): zastario za kriptografiju od napada SHAttered 2017., koji je pokazao stvarni sudar između dva odvojena PDF-a. Git ga i dalje koristi prema zadanim postavkama, ali migrira na SHA-256. Nemojte ga više koristiti za potpisivanje ili provjeru autentičnosti.
- SHA-256 (256 bita, 64 heksadecimalna znaka): moderni standard, član obitelji SHA-2. Osnova modernih TLS certifikata, potpisa Linux paketa (apt, dnf, pacman), Bitcoin i službene provjere integriteta. Sporije od MD5, ali sigurno na temelju trenutnog znanja.
- SHA-512 (512 bita, 128 heksadecimalnih znakova): 64-bitna varijanta SHA-2. Izvorno obrađuje 64-bitne riječi, što ga čini ponekad bržim od SHA-256 na 64-bitnom CPU-u. Dulji otisak, veća sigurnosna granica.
- CRC32 (32 bita, 8 heksadecimalnih znakova): nekriptografski, ultrabrz, dizajniran posebno za otkrivanje pogrešaka u prijenosu. Koriste ga Ethernet, ZIP, PNG, gzip. Ne štiti od zlonamjernih namjera: napadač može trivijalno krivotvoriti datoteku s istim CRC32 kao i drugi. Prikladno za brze provjere hardvera, ne za sigurnost.
Slučajevi upotrebe
- Provjerite Linux ISO: Debian, Ubuntu, Fedora i Arch objavljuju SHA-256 i SHA-512 svake službene slike, često supotpisane u GPG-u.
- Provjerite valjanost potpisane binarne datoteke: potvrdite da izvršna datoteka preuzeta sa zrcala nije zamijenjena prevarenom verzijom.
- Usporedite dvije verzije: prije i poslije modifikacije, identičan kontrolni zbroj dokazuje identitet malo po malo, bez potrebe za distribucijom datoteka.
- Provjera valjanosti prijenosa: klijent šalje kontrolni zbroj, poslužitelj ga ponovno izračunava po primitku kako bi potvrdio odsutnost oštećenja.
- Uzimanje otisaka prstiju: otkrivanje robota ili poznatih datoteka u bazama podataka otisaka prstiju (antivirus, obavještavanje o prijetnjama, pretraživanje duplikata).
Kako ga koristiti
- Povucite i ispustite datoteku u predviđeno područje ili upotrijebite gumb za odabir.
- Odaberite algoritam: MD5, SHA-1, SHA-256, SHA-512 ili CRC32.
- Prikazuje se kontrolni zbroj, spreman za kopiranje.
- Usporedite dobivenu vrijednost s referentnom vrijednošću (koju je objavio izdavač ili se čuva lokalno).
Izračun se vrši lokalno u vašem pregledniku, bez slanja datoteke na udaljeni poslužitelj. Sadržaj ostaje povjerljiv.
Kako provjeriti preuzimanje s kontrolnim zbrojem?
Standardni postupak provjere je sljedeći:
- Službena stranica objavljuje očekivani kontrolni zbroj, na primjer
d41d8cd98f00b204e9800998ecf8427eza MD5 ili niz od 64 znaka za SHA-256. - Preuzmite datoteku.
- Izračunajte njegov kontrolni zbroj pomoću ovog alata ili putem naredbenog retka.
- Usporedite: ako su dva niza strogo identična, znak po znak, datoteka je netaknuta. Ako se razlikuju, čak i za jedan znak, datoteka je oštećena ili je neovlašteno mijenjana: nemojte je koristiti, ponovno je preuzmite.
Iz naredbenog retka pod Linuxom:
# Izračunajte kontrolni zbroj
md5sum datoteka.iso
sha1sum datoteka.iso
sha256sum datoteka.iso
sha512sum datoteka.iso
cksum file.iso # CRC32 + veličina
# Automatska provjera iz .sha256 datoteke koju je objavio urednik
sha256sum -c datoteka.iso.sha256
# Prikazuje: "file.iso: OK" ako kontrolni zbroj odgovara
Pod macOS-om:
md5 datoteka.iso
shasum -a 1.iso datoteka
shasum -a 256 datoteka.iso
shasum -a 512 datoteka.iso
# Provjera iz referentne datoteke
shasum -a 256 -c datoteka.iso.sha256
U sustavu Windows (PowerShell):
Get-FileHash file.iso -Algoritam MD5
Get-FileHash file.iso -Algoritam SHA1
Get-FileHash file.iso -Algoritam SHA256
Get-FileHash file.iso -Algoritam SHA512
# Usporedite s očekivanom vrijednošću
(Get-FileHash file.iso -Algoritam SHA256).Hash -eq "ABC123..."
Brza usporedba algoritama
| Algoritam | Veličina | Brzina | Preporučena uporaba |
|---|---|---|---|
| CRC32 | 32-bitni | Vrlo brzo | Otkrivanje pogreške mreže ili pohrane, nekriptografsko |
| MD5 | 128 bita | Brzo | Samo integritet koji nije neprijateljski, treba ga izbjegavati u sigurnosnim slučajevima |
| SHA-1 | 160 bita | Brzo | Zastarjela, stara kompatibilnost (Git, stari paketi) |
| SHA-256 | 256 bita | Umjereno | Trenutni standard, provjera integriteta i potpisi |
| SHA-512 | 512 bita | Brzo u 64 bita | Provjera integriteta, veća sigurnosna granica |
FAQ
MD5 ili SHA-256 za provjeru mog ISO-a?
SHA-256 prema zadanim postavkama. Gotovo sve moderne distribucije Linuxa izdaju SHA-256 i SHA-512, ponekad uz MD5 radi povijesne kompatibilnosti. Ako izdavač izdaje samo MD5, a vi ste zabrinuti zbog kompromisa, zahtijevajte SHA-256 ili provjerite GPG potpis datoteke kontrolnih zbrojeva. Ako ste samo zabrinuti zbog oštećenja preuzimanja, MD5 je tehnički dovoljan.
Jamči li kontrolni zbroj sigurnost moje datoteke?
Ne, ne samo njemu. Kontrolni zbroj dokazuje integritet, a ne autentičnost. Ako napadač kontrolira poslužitelj za preuzimanje, može objaviti modificiranu datoteku i njen modificirani kontrolni zbroj. Prava sigurnost dolazi od digitalnog potpisa (GPG, potpisivanje koda) koji povezuje kontrolni zbroj s poznatim privatnim ključem. Uvijek dohvatite kontrolni zbroj putem HTTPS-a ili, bolje, putem provjerljivog GPG potpisa.
Moj kontrolni zbroj ne odgovara, što da radim?
Prvo provjerite uspoređujete li ispravan algoritam: SHA-256 ne može odgovarati SHA-1. Zatim ponovno pokrenite preuzimanje, idealno s drugog zrcala: najčešći uzrok je prekid mreže. Ako se odstupanje nastavi nakon nekoliko pokušaja, posumnjajte da je zrcalo kompromitirano: vratite se na službeni izvor i provjerite GPG potpis ako postoji. Nikada nemojte pokretati ili koristiti datoteku dok se kontrolni zbroj ne podudara.
Zašto je MD5 zastario?
MD5 pati od praktičnih kolizija: moguće je konstruirati dvije različite datoteke s točno istim MD5 hashom u nekoliko sekundi. Ovo svojstvo narušava samu funkciju kriptografskog raspršivanja. Konkretno, napadač može stvoriti zlonamjernu binarnu datoteku s istim MD5 kao i legitimna binarna datoteka. SHA-1 pati od istog problema od 2017. (SHAttered attack). Samo se SHA-256, SHA-512 i njihove varijante smatraju sigurnima u 2026.
Razlika između raspršivanja i kontrolnog zbroja?
Hash je generički rezultat hash funkcije. Kontrolni zbroj je hash koji se posebno koristi za provjeru integriteta podataka. Svi kontrolni zbrojevi su hashevi, ali nisu svi hashovi kontrolni zbrojevi: hash zaporke (bcrypt, argon2) koristi se za autentifikaciju, hash u tablici hash-a koristi se za brzo indeksiranje. Izraz otisak prsta ili otisak prsta uobičajeni je sinonim za kontrolni zbroj.
Je li CRC32 dovoljan za moje potrebe?
CRC32 je dovoljan ako samo želite otkriti slučajno oštećenje na kanalu koji nije neprijateljski: interni mrežni prijenos, provjera ZIP arhive, provjera dosljednosti memorije. Sa samo 32 bita, dvije nasumične datoteke imaju oko 1 prema 4 milijarde šanse da slučajno imaju isti CRC32, što je dovoljno za otkrivanje pogreške. CRC32 je nedovoljan čim napadač može utjecati na sadržaj: trivijalno je krivotvoriti datoteku s ciljnim CRC32. Za bilo kakvu provjeru zlonamjernog rizika koristite SHA-256.
Zašto se moj kontrolni zbroj razlikuje ovisno o OS-u?
Kontrolni zbroj istog binarnog sadržaja posvuda je identičan. Ako dobijete dva različita rezultata, datoteka se zapravo razlikuje: završeci redaka (Windows CRLF nasuprot Unix LF) nakon FTP prijenosa u tekstualnom načinu, kodiranje teksta promijenjeno pri otvaranju, metapodaci koje je dodao sustav (macOS Spotlight rezolucija, prošireni atributi) ili tiha rekompresija od strane klijenta za prijenos. Prijenos uvijek u binarnom načinu rada.
Kontrolni zbroj ili digitalni potpis?
Kontrolni zbroj dokazuje da datoteka nije promijenjena između objavljivanja i prijema, pod uvjetom da je kontrolni zbroj dohvaćen putem sigurnog kanala. Digitalni potpis (GPG, PGP, code signing Authenticode) također dokazuje identitet autora pomoću privatnog ključa. Potpis obuhvaća i pojačava kontrolni zbroj: standardna praksa u Debianu, Tor-u ili Bitcoin Coreu je potpisivanje datoteke kontrolnih zbrojeva u GPG-u, zatim korištenje tih kontrolnih zbrojeva za provjeru binarnih datoteka.
Često postavljana pitanja
Je li datoteka poslana na poslužitelj za izračun kontrolne sume?
Ne. Izračun se u potpunosti vrši u vašem pregledniku pomoću Web Crypto API-ja i lokalnih JavaScript rutina. Sadržaj datoteke ne napušta vaše računalo, dopuštajući povjerljivo raspršivanje osjetljivih dokumenata, šifriranih arhiva ili ispisa baze podataka. Ovaj pristup također jamči stabilne performanse, neovisno o propusnosti.
Koju veličinu datoteke mogu hashirati ovim alatom?
Izračun se izvodi strujanjem u blokovima, tako da ograničenje u biti ovisi o memoriji i vremenu koje vaš preglednik može posvetiti operaciji. Nekoliko stotina megabajta prolazi bez poteškoća na standardnom računalu. Za datoteke od nekoliko gigabajta (puni ISO, veliki dump) preferirajte redak za naredbe sustava (sha256sum, Get-FileHash) koji bolje koristi resurse diska i procesora.
Koja je razlika između hashiranja datoteke i hashiranja teksta?
Algoritam je potpuno isti, mijenja se samo unos. Za tekst raspršujemo niz bajtova niza u danom kodiranju (obično UTF-8). Za datoteku raspršujemo neobrađeni binarni sadržaj, bajt po bajt, uključujući sva ugrađena zaglavlja ili metapodatke. Zbog toga tekstualna datoteka i njezin sadržaj kopiran u obrazac mogu dati različite kontrolne zbrojeve (BOM, završeci redaka, kodiranje).
Zašto kontrolni zbroj ZIP arhive varira sa svakom kreacijom?
Većina arhivara (ZIP, TAR.GZ, 7z) pohranjuje varijabilne metapodatke kao što su datum stvaranja, redoslijed datoteka ili indikatori kompresije. Ponovno stvaranje arhive s istim sadržajem stoga proizvodi različite binarne i različite kontrolne zbrojeve. Za dobivanje ponovljivih arhiva koristite alate kao što su diffoscope, strip-nondeterminism ili opcije --mtime i --sort=name za tar.
Postoje li brže alternative SHA-256 za provjeru integriteta?
da BLAKE2 i BLAKE3 su moderne kriptografske hash funkcije, dizajnirane da budu brže od SHA-256, a istovremeno pružaju ekvivalentnu ili višu razinu sigurnosti. BLAKE3 osobito dobro iskorištava SIMD i višejezgreni paralelizam, što ga čini vrlo učinkovitim na velikim datotekama. Za čisto ne-neprijateljsko otkrivanje pogrešaka, xxHash je nenadmašan u brzini, ali ostaje nekriptografski.
Mogu li usporediti dvije datoteke bez izračunavanja njihovog cijelog hash-a?
Za dvije lokalne datoteke, izravna binarna usporedba (cmp na Unixu, fc /b na Windowsima) brža je od raspršivanja obje. Hash postaje koristan kada datoteke nisu na istom računalu ili kada želite zadržati kratak otisak bez zadržavanja izvornika. Za česte provjere velikih volumena, indeksirajte hashove u bazi podataka i usporedite otiske prstiju umjesto cijelih datoteka.
Primjer zahtjeva
curl -X POST https://cdrn.fr/api/v1/tools/hash-file-generator/execute \
-F "file=@/path/to/file" \
-F "algorithm=adler32"
Ulazna shema
| Polje | Tip | Obavezno | Zadano |
|---|---|---|---|
file |
file | ✓ | – |
algorithm |
choice (adler32, crc32, crc32b, crc32c, fnv132, fnv164, fnv1a32, fnv1a64, gost, gost-crypto, haval128,3, haval128,4, haval128,5, haval160,3, haval160,4, haval160,5, haval192,3, haval192,4, haval192,5, haval224,3, haval224,4, haval224,5, haval256,3, haval256,4, haval256,5, joaat, md2, md4, md5, murmur3a, murmur3c, murmur3f, ripemd128, ripemd160, ripemd256, ripemd320, sha1, sha224, sha256, sha3-224, sha3-256, sha3-384, sha3-512, sha384, sha512, sha512/224, sha512/256, snefru, snefru256, tiger128,3, tiger128,4, tiger160,3, tiger160,4, tiger192,3, tiger192,4, whirlpool, xxh128, xxh3, xxh32, xxh64) | ✓ | – |
ovaj alat očekuje datoteku - koristite Content-Type multipart/form-data umjesto application/json
Krajnje točke
GET https://cdrn.fr/api/v1/tools- ispisuje sve dostupne alateGET https://cdrn.fr/api/v1/tools/hash-file-generator- dohvaća shemu ovog alataPOST https://cdrn.fr/api/v1/tools/hash-file-generator/execute- izvršava ovaj alat s JSON payloadom