Vypočítať checksum súboru

vypočíta kontrolný súčet (checksum) súboru v MD5, SHA-1, SHA-256 alebo SHA-512. Ideálne na overenie integrity stiahnutia alebo detekciu poškodenia

Čo je checksum?

Checksum (kontrolný súčet, niekedy písaný chksum) je unikátny digitálny otisk vypočítaný z obsahu súboru hashovacím algoritmom. Tento otisk, alebo fingerprint, je zvyčajne reprezentovaný hexadecimálnym reťazcom pevnej dĺžky.

Základná vlastnosť dobrého hashovacieho algoritmu je lavínový efekt: akákoľvek modifikácia zdrojového súboru, aj jediný bit, produkuje radikálne odlišný checksum. Dva súbory s presne rovnakým obsahom vždy produkujú rovnaký checksum, nezávisle od názvu súboru, dátumu modifikácie alebo operačného systému.

Checksum slúži primárne na overenie integrity súboru: ak otisk prepočítaný lokálne zodpovedá tomu deklarovanému vydavateľom, súbor je nedotknutý. Inak bol alterovaný, korumpovaný pri prenose, alebo modifikovaný.

Na čo konkrétne slúži?

  • Overenie integrity stiahnutia: Linux ISO (Debian, Ubuntu, Fedora, Arch), Docker image, Windows installer alebo open source archív systematicky publikujú oficiálny checksum. Prepočítať ho lokálne potvrdzuje, že súbor je kompletný a nealterovaný.
  • Detekcia korupcie pri prenose: prerušené sťahovanie, chybný diskový sektor, nestabilná RAM, vrtošivý sieťový kábel, alebo kópia na USB klúč môžu korumpovať bajty. Checksum okamžite odhaľuje tieto tiché chyby.
  • Otisk podpisu: potvrdiť, že súbor pochádza od očakávaného autora, keď je checksum distribuovaný bezpečným kanálom (HTTPS, GPG podpis). Je to mechanizmus za Linux balíčkovými repozitármi a application stores.
  • Verzionovanie a caching: Git identifikuje každý commit, blob a strom SHA-1 hashom (migrácia na SHA-256). CDN a web bundlery (Webpack, Vite, esbuild) injektujú hash do názvu súboru (app.4a8f2c.js) na automatickú invalidáciu browser cache pri zmene.
  • Detekcia duplikátov a deduplikácia: inkrementálne zálohy (Borg, Restic, rsync), súborové systémy (ZFS), a object storage identifikujú identické bloky ich hashom pre uloženie jedinej kópie.
  • Validácia uploadu: klient pošle očakávaný checksum, server ho prepočíta pri príjme. AWS S3 napríklad akceptuje Content-MD5 alebo x-amz-checksum-sha256 hlavičku pre odmietnutie korumpovaného uploadu.
  • Threat intelligence a antivirus: VirusTotal a antivirus vydavatelia indexujú malicious súbory ich SHA-256 hashom, čo umožňuje detekciu bez prenosu kompletnej binárky.

Podporované algoritmy a rozdiely

  • MD5 (128 bitov, 32 hexadecimálnych znakov): rýchly, široko rozšírený, ale kryptograficky prelomený. MD5 kolízie sú vypočítateľné v niekoľkých sekundách na bežnom hardware od roku 2004. Použiť iba na nemalicious overenie integrity (sťahovanie proti prerušeniu siete, lokálna záloha). Zakázaný pre akúkoľvek bezpečnostnú funkciu, podpis alebo autentifikáciu.
  • SHA-1 (160 bitov, 40 hexadecimálnych znakov): deprecated pre kryptografiu od SHAttered útoku 2017, ktorý demonštroval skutočnú kolíziu medzi dvoma odlišnými PDF. Git ho stále používa defaultne, ale migruje na SHA-256. Už nepoužívať na podpis alebo autentifikáciu.
  • SHA-256 (256 bitov, 64 hexadecimálnych znakov): moderný štandard, člen rodiny SHA-2. Základ moderných TLS certifikátov, podpisov Linux balíčkov (apt, dnf, pacman), Bitcoinu, a oficiálnych kontrol integrity. Pomalší ako MD5, ale bezpečný v stave súčasných znalostí.
  • SHA-512 (512 bitov, 128 hexadecimálnych znakov): 64-bit variant SHA-2. Manipuluje 64-bit slová natívne, čo ho robí niekedy rýchlejším ako SHA-256 na 64-bit CPU. Dlhší otisk, vyššia bezpečnostná marža.
  • CRC32 (32 bitov, 8 hexadecimálnych znakov): nekryptografický, ultra rýchly, navrhnutý špecificky na detekciu prenosových chýb. Používaný Ethernetom, ZIPom, PNG, gzip. Nechráni proti malice: útočník môže triviálne vyfalšovať súbor s rovnakým CRC32 ako iný. Vhodný na rýchle hardware kontroly, nie na bezpečnosť.

Prípady použitia

  • Overiť Linux ISO: Debian, Ubuntu, Fedora a Arch publikujú SHA-256 a SHA-512 každého oficiálneho image, často kontra-podpísané v GPG.
  • Validovať podpísanú binárku: potvrdiť, že stiahnutý spustiteľný súbor z mirroru nebol nahradený verziou s pasťou.
  • Porovnať dve verzie: pred a po modifikácii, identický checksum dokazuje bit-po-bite identitu bez nutnosti prenosu súborov.
  • Validácia uploadu: klient pošle checksum, server ho prepočíta pri príjme na potvrdenie absencie korupcie.
  • Fingerprinting: detekcia botov alebo známych súborov v databázach otiskov (antivirus, threat intelligence, vyhľadávanie duplikátov).

Ako ho používať

  1. Pretiahnite súbor do určenej zóny, alebo použite tlačidlo výberu.
  2. Vyberte algoritmus: MD5, SHA-1, SHA-256, SHA-512 alebo CRC32.
  3. Checksum sa zobrazí, pripravený na kopírovanie.
  4. Porovnajte získanú hodnotu s referenčnou (publikovanou vydavateľom alebo uloženou lokálne).

Výpočet sa vykonáva lokálne vo vašom prehliadači, bez odosielania súboru na vzdialený server. Obsah zostáva dôverný.

Ako overiť stiahnutie checksumom?

Štandardný postup overenia je nasledujúci:

  1. Oficiálna stránka publikuje očakávaný checksum, napríklad d41d8cd98f00b204e9800998ecf8427e pre MD5 alebo 64znakový reťazec pre SHA-256.
  2. Stiahnite súbor.
  3. Vypočítajte jeho checksum, buď týmto nástrojom, alebo príkazovým riadkom.
  4. Porovnajte: ak sú oba reťazce presne identické, znak po znaku, súbor je nedotknutý. Ak sa líšia, aj jediným znakom, súbor je korumpovaný alebo zmanipulovaný: nepoužívajte ho, stiahnite ho znovu.

V príkazovom riadku pod Linuxom:


# Spocitat checksum
md5sum subor.iso
sha1sum subor.iso
sha256sum subor.iso
sha512sum subor.iso
cksum subor.iso          # CRC32 + velkost

# Automaticky overit zo .sha256 suboru publikovaneho vydavatelom
sha256sum -c subor.iso.sha256
# Zobrazi: "subor.iso: OK" ak checksum zodpoveda

Pod macOS:


md5 subor.iso
shasum -a 1 subor.iso
shasum -a 256 subor.iso
shasum -a 512 subor.iso

# Overenie z referencneho suboru
shasum -a 256 -c subor.iso.sha256

Pod Windows (PowerShell):


Get-FileHash subor.iso -Algorithm MD5
Get-FileHash subor.iso -Algorithm SHA1
Get-FileHash subor.iso -Algorithm SHA256
Get-FileHash subor.iso -Algorithm SHA512

# Porovnat s ocakavanou hodnotou
(Get-FileHash subor.iso -Algorithm SHA256).Hash -eq "ABC123..."

Rýchle porovnanie algoritmov

Algoritmus Veľkosť Rýchlosť Odporúčané použitie
CRC32 32 bitov Veľmi rýchly Detekcia sieťových alebo úložných chýb, nekryptografický
MD5 128 bitov Rýchly Iba nehostilná integrita, vyhnúť sa v bezpečnosti
SHA-1 160 bitov Rýchly Zastaraný, staršia kompatibilita (Git, staré balíčky)
SHA-256 256 bitov Stredná Súčasný štandard, overenie integrity a podpisy
SHA-512 512 bitov Rýchly v 64 bitoch Overenie integrity, vyššia bezpečnostná marža

FAQ

MD5 alebo SHA-256 na overenie môjho ISO?

SHA-256 defaultne. Takmer všetky moderné Linux distribúcie publikujú SHA-256 a SHA-512, niekedy spolu s MD5 pre historickú kompatibilitu. Ak vydavateľ publikuje iba MD5 a obávate sa kompromitácie, vyžadujte SHA-256 alebo overte GPG podpis checksum súboru. Ak sa obávate iba korupcie pri sťahovaní, MD5 technicky stačí.

Garantuje checksum bezpečnosť môjho súboru?

Nie, nie sám o sebe. Checksum dokazuje integritu, nie autentičnosť. Ak útočník kontroluje download server, môže publikovať modifikovaný súbor a jeho modifikovaný checksum. Skutočná bezpečnosť prichádza z digitálneho podpisu (GPG, code signing), ktorý viaže checksum k známemu privátnemu kľúču. Vždy získavajte checksum cez HTTPS alebo, lepšie, cez overiteľný GPG podpis.

Môj checksum nezodpovedá, čo robiť?

Najprv overte, že porovnávate správny algoritmus: SHA-256 nemôže zodpovedať SHA-1. Potom zopakujte sťahovanie, ideálne z iného mirroru: najčastejšia príčina je sieťové prerušenie. Ak rozdiel pretrváva po niekoľkých pokusoch, podozrievajte mirror kompromitáciu: späť k oficiálnemu zdroju a overte GPG podpis ak existuje. Nikdy nespúšťať ani nepoužívať súbor, kým checksum nezodpovedá.

Prečo je MD5 deprecated?

MD5 trpí praktickými kolíziami: je možné konštruovať dva odlišné súbory s presne rovnakým MD5 hashom v niekoľkých sekundách. Táto vlastnosť porušuje samotnú funkciu kryptografického hashe. Konkrétne, útočník môže vytvoriť malicious binárku s rovnakým MD5 ako legitímna binárka. SHA-1 trpí rovnakým problémom od 2017 (SHAttered útok). Iba SHA-256, SHA-512 a ich varianty zostávajú považované za bezpečné v 2026.

Rozdiel medzi hashom a checksumom?

Hash je generický výsledok hashovacej funkcie. Checksum je hash použitý špecificky na overenie integrity dát. Všetky checksumy sú hashe, ale nie všetky hashe sú checksumy: hash hesla (bcrypt, argon2) slúži autentifikácii, hash v hash tabuľke slúži rýchlej indexácii. Termín fingerprint alebo otisk je bežné synonymum checksumu.

Stačí CRC32 pre moje potreby?

CRC32 stačí, ak hľadáte iba detekciu náhodnej korupcie na nehostilnom kanáli: interný sieťový prenos, overenie ZIP archívu, kontrola koherencie v pamäti. S iba 32 bitmi majú dva náhodné súbory približne 1 šancu zo 4 miliárd mať rovnaký CRC32 náhodou, čo je dostatočné na detekciu chýb. CRC32 je nedostatočný, akonáhle môže útočník ovplyvniť obsah: je triviálne vyfalšovať súbor s cieľovým CRC32. Pre akékoľvek overenie pred malicious rizikom použite SHA-256.

Prečo sa môj checksum líši podľa OS?

Checksum rovnakého binárneho obsahu je identický všade. Ak získavate dva odlišné výsledky, je to preto, že sa súbor skutočne líši: konce riadkov (CRLF Windows oproti LF Unix) po FTP prenose v textovom režime, modifikované kódovanie textu pri otvorení, metadáta pridané systémom (Spotlight resolution macOS, rozšírené atribúty), alebo tichá rekompresia transfer klientom. Vždy prenášať v binárnom režime.

Checksum alebo digitálny podpis?

Checksum dokazuje, že súbor nebol alterovaný medzi publikáciou a príjmom, za podmienky získania checksumu bezpečným kanálom. Digitálny podpis (GPG, PGP, code signing Authenticode) navyše dokazuje identitu autora vďaka privátnemu kľúču. Podpis obklopuje a posilňuje checksum: štandardná prax u Debianu, Toru, alebo Bitcoin Core je GPG podpísať súbor checksumov, potom použiť tieto checksumy na overenie binárok.

Často kladené otázky

Je súbor odoslaný na server na výpočet checksumu?

Nie. Výpočet sa vykonáva kompletne vo vašom prehliadači vďaka Web Crypto API a lokálnym JavaScript rutinám. Obsah súboru neopúšťa váš počítač, čo umožňuje hashovať s plnou dôvernosťou citlivé dokumenty, šifrované archívy alebo dumpy databázy. Tento prístup tiež garantuje stabilný výkon, nezávislý od šírky pásma.

Akú veľkosť súboru môžem hashovať týmto nástrojom?

Výpočet prebieha streamingom v blokoch, takže limit závisí v podstate od pamäte a času, ktorý váš prehliadač môže operácii venovať. Niekoľko sto megabajtov prejde bez ťažkostí na štandardnom počítači. Pre súbory niekoľkých gigabajtov (kompletné ISO, objemný dump) preferujte systémový príkazový riadok (sha256sum, Get-FileHash), ktorý lepšie využíva diskové a CPU zdroje.

Aký je rozdiel medzi hashovaním súboru a hashovaním textu?

Algoritmus je presne rovnaký, mení sa iba vstup. Pre text hashujeme sekvenciu bajtov reťazca v danom kódovaní (typicky UTF-8). Pre súbor hashujeme surový binárny obsah, bajt po bajte, vrátane prípadných integrovaných headerov alebo metadát. Preto textový súbor a jeho obsah skopírovaný do formulára môžu dávať odlišné checksumy (BOM, konce riadkov, kódovanie).

Prečo sa checksum ZIP archívu mení pri každom vytvorení?

Väčšina archivátorov (ZIP, TAR.GZ, 7z) ukladá premenlivé metadáta ako dátum vytvorenia, poradie súborov alebo kompresné indikátory. Znovuvytvorenie archívu s rovnakým obsahom teda produkuje odlišnú binárku a odlišný checksum. Na získanie reprodukovateľných archívov použite nástroje ako diffoscope, strip-nondeterminism alebo --mtime a --sort=name voľby tar.

Existujú rýchlejšie alternatívy ako SHA-256 na overenie integrity?

Áno. BLAKE2 a BLAKE3 sú moderné kryptografické hashovacie funkcie, navrhnuté byť rýchlejšie ako SHA-256, pritom ponúkajú ekvivalentnú alebo vyššiu úroveň bezpečnosti. BLAKE3 zvlášť dobre využíva SIMD a multi-core paralelizmus, čo ho robí veľmi efektívnym na veľkých súboroch. Pre čistú nehostilnú detekciu chýb je xxHash neprekonateľný v rýchlosti, ale zostáva nekryptografický.

Môžem porovnať dva súbory bez výpočtu ich celého hashe?

Pre dva lokálne súbory je priame binárne porovnanie (cmp pod Unix, fc /b pod Windows) rýchlejšie ako hashovať oba. Hash je užitočný, keď súbory nie sú na rovnakom počítači, alebo keď chceme zachovať krátky otisk bez uchovania originálu. Pre časté kontroly na veľkých objemoch indexujte hashe v databáze a porovnávajte otiskie namiesto kompletných súborov.

Ukážka požiadavky

curl -X POST https://cdrn.fr/api/v1/tools/hash-file-generator/execute \
  -F "file=@/path/to/file" \
  -F "algorithm=adler32"

Vstupná schéma

Pole Typ Povinné Predvolené
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)

tento nástroj očakáva súbor - použite Content-Type multipart/form-data namiesto application/json

Koncové body

  • GET https://cdrn.fr/api/v1/tools - vypíše všetky dostupné nástroje
  • GET https://cdrn.fr/api/v1/tools/hash-file-generator - získa schému tohto nástroja
  • POST https://cdrn.fr/api/v1/tools/hash-file-generator/execute - spustí tento nástroj s JSON payloadom