Laske tiedoston checksum
- Hallintapaneeli
- Dokumentaatio
- API
Mikä on tarkistussumma ?
Tarkistussumma (checksum, joskus kirjoitettu chksum) on tiedoston sisällöstä hajautusalgoritmilla laskettu ainutlaatuinen digitaalinen sormenjälki. Tämä sormenjälki eli fingerprint esitetään yleensä kiinteän pituisena heksadesimaalimerkkijonona.
Hyvän hajautusalgoritmin perusominaisuus on lumivyöryilmiö (avalanche effect) : mikä tahansa muutos lähdetiedostoon, jopa yhden bitin muutos, tuottaa täysin erilaisen tarkistussumman. Kaksi sisällöltään täysin identtistä tiedostoa tuottavat aina saman tarkistussumman riippumatta tiedostonimestä, muokkauspäivämäärästä tai käyttöjärjestelmästä.
Tarkistussummaa käytetään pääasiassa tiedoston eheyden varmistamiseen : jos paikallisesti laskettu sormenjälki vastaa julkaisijan ilmoittamaa, tiedosto on ehjä. Muussa tapauksessa se on muuttunut, korruptoitunut siirron aikana tai sitä on muokattu.
Mihin sitä käytetään käytännössä ?
- Latauksen eheyden tarkistaminen : Linux-ISO-tiedostot (Debian, Ubuntu, Fedora, Arch), Docker-kuvat, Windows-asennusohjelmat tai avoimen lähdekoodin arkistot julkaisevat aina virallisen tarkistussumman. Sen laskeminen paikallisesti vahvistaa, että tiedosto on täydellinen eikä sitä ole muutettu.
- Siirron aikaisen korruptoitumisen havaitseminen : keskeytynyt lataus, viallinen levysektori, epävakaa RAM, oikutteleva verkkokaapeli tai kopiointi USB-tikulle voivat korruptoida tavuja. Tarkistussumma paljastaa nämä hiljaiset virheet välittömästi.
- Allekirjoituksen sormenjälki : varmistaa, että tiedosto on todella peräisin odotetulta tekijältä, kun tarkistussumma jaetaan turvallisen kanavan kautta (HTTPS, GPG-allekirjoitus). Tämä on Linux-pakettivarastojen ja sovelluskauppojen perusmekanismi.
- Versiointi ja välimuisti : Git tunnistaa jokaisen commitin, blobin ja puun SHA-1-tiivisteellä (siirtymässä SHA-256:een). CDN:t ja verkkopaketoijat (Webpack, Vite, esbuild) lisäävät tiivisteen tiedostonimeen (
app.4a8f2c.js) selainvälimuistin automaattiseksi mitätöimiseksi muutoksen yhteydessä. - Kaksoiskappaleiden havaitseminen ja deduplikointi : inkrementaaliset varmuuskopiot (Borg, Restic, rsync), tiedostojärjestelmät (ZFS) ja objektitallennustilat tunnistavat identtiset lohkot niiden tiivisteen perusteella tallentaakseen vain yhden kopion.
- Latauksen (upload) vahvistaminen : asiakas lähettää odotetun tarkistussumman, palvelin laskee sen uudelleen vastaanoton yhteydessä. Esimerkiksi AWS S3 hyväksyy
Content-MD5taix-amz-checksum-sha256-otsakkeen korruptoituneen latauksen hylkäämiseksi. - Uhkatiedustelu ja virustorjunta : VirusTotal ja virustorjuntaohjelmistojen valmistajat indeksoivat haitalliset tiedostot niiden SHA-256-tiivisteen perusteella, mikä mahdollistaa havaitsemisen ilman koko binaarin lähettämistä.
Tuetut algoritmit ja erot
- MD5 (128 bittiä, 32 heksadesimaalimerkkiä) : nopea, laajasti levinnyt, mutta kryptografisesti murrettu. MD5-törmäykset ovat laskettavissa muutamassa sekunnissa nykyisillä laitteilla vuodesta 2004 lähtien. Käytettävä vain ei-haitalliseen eheyden tarkistamiseen (lataus verkkokatkoksen varalta, paikallinen varmuuskopio). Kielletty kaikissa turvatoiminnoissa, allekirjoituksissa tai todennuksessa.
- SHA-1 (160 bittiä, 40 heksadesimaalimerkkiä) : vanhentunut kryptografiassa vuoden 2017 SHAttered-hyökkäyksen jälkeen, joka osoitti todellisen törmäyksen kahden eri PDF-tiedoston välillä. Git käyttää sitä edelleen oletuksena, mutta siirtyy SHA-256:een. Älä käytä sitä enää allekirjoittamiseen tai todennukseen.
- SHA-256 (256 bittiä, 64 heksadesimaalimerkkiä) : moderni standardi, osa SHA-2-perhettä. Nykyisten TLS-sertifikaattien, Linux-pakettien allekirjoitusten (apt, dnf, pacman), Bitcoinin ja virallisten eheystarkistusten perusta. Hitaampi kuin MD5, mutta turvallinen nykytiedon mukaan.
- SHA-512 (512 bittiä, 128 heksadesimaalimerkkiä) : SHA-2:n 64-bittinen muunnelma. Käsittelee natiivisti 64-bittisiä sanoja, mikä tekee siitä joskus nopeamman kuin SHA-256 64-bittisillä suorittimilla. Pidempi sormenjälki, korkeampi turvamarginaali.
- CRC32 (32 bittiä, 8 heksadesimaalimerkkiä) : ei-kryptografinen, erittäin nopea, suunniteltu erityisesti siirtovirheiden havaitsemiseen. Käytetään Ethernetissä, ZIP:ssä, PNG:ssä, gzipissä. Ei suojaa haittatoiminnalta : hyökkääjä voi helposti luoda tiedoston, jolla on sama CRC32 kuin toisella. Soveltuu nopeisiin laitteistotarkistuksiin, ei turvallisuuteen.
Käyttötapaukset
- Linux-ISO:n tarkistaminen : Debian, Ubuntu, Fedora ja Arch julkaisevat jokaisen virallisen kuvan SHA-256- ja SHA-512-summat, usein GPG-allekirjoitettuina.
- Allekirjoitetun binaarin vahvistaminen : varmistaa, että peilipalvelimelta ladattua suoritettavaa tiedostoa ei ole korvattu saastuneella versiolla.
- Kahden version vertailu : ennen ja jälkeen muutoksen identtinen tarkistussumma todistaa bitti bitiltä vastaavuuden ilman tiedostojen jakamista.
- Latauksen (upload) vahvistaminen : asiakas lähettää tarkistussumman, palvelin laskee sen uudelleen vastaanoton yhteydessä varmistaakseen, ettei se ole korruptoitunut.
- Sormenjälkien ottaminen (Fingerprinting) : bottien tai tunnettujen tiedostojen havaitseminen sormenjälkitietokannoista (virustorjunta, uhkatiedustelu, kaksoiskappaleiden haku).
Kuinka käyttää sitä
- Vedä ja pudota tiedosto sille varatulle alueelle tai käytä valintapainiketta.
- Valitse algoritmi : MD5, SHA-1, SHA-256, SHA-512 tai CRC32.
- Tarkistussumma tulee näkyviin, valmiina kopioitavaksi.
- Vertaa saatua arvoa viitearvoon (julkaisijan ilmoittama tai paikallisesti säilytetty).
Laskenta tapahtuu paikallisesti selaimessasi ilman tiedoston lähettämistä etäpalvelimelle. Sisältö pysyy luottamuksellisena.
Kuinka tarkistaa lataus tarkistussumman avulla ?
Vakiomuotoinen tarkistusmenettely on seuraava :
- Virallinen sivusto julkaisee odotetun tarkistussumman, esimerkiksi
d41d8cd98f00b204e9800998ecf8427eMD5:lle tai 64 merkin jonon SHA-256:lle. - Lataa tiedosto.
- Laske sen tarkistussumma joko tällä työkalulla tai komentoriviltä.
- Vertaa : jos molemmat merkkijonot ovat täysin identtiset merkki merkiltä, tiedosto on ehjä. Jos ne poikkeavat toisistaan, jopa yhdellä merkillä, tiedosto on korruptoitunut tai sitä on peukaloitu : älä käytä sitä, lataa se uudelleen.
Komentorivillä Linuxissa :
# Laske tarkistussumma
md5sum tiedosto.iso
sha1sum tiedosto.iso
sha256sum tiedosto.iso
sha512sum tiedosto.iso
cksum tiedosto.iso # CRC32 + koko
# Tarkista automaattisesti julkaisijan julkaisemasta .sha256-tiedostosta
sha256sum -c tiedosto.iso.sha256
# Näyttää : "tiedosto.iso: OK", jos tarkistussumma täsmää
macOS:ssä :
md5 tiedosto.iso
shasum -a 1 tiedosto.iso
shasum -a 256 tiedosto.iso
shasum -a 512 tiedosto.iso
# Tarkistus viitetiedostosta
shasum -a 256 -c tiedosto.iso.sha256
Windowsissa (PowerShell) :
Get-FileHash tiedosto.iso -Algorithm MD5
Get-FileHash tiedosto.iso -Algorithm SHA1
Get-FileHash tiedosto.iso -Algorithm SHA256
Get-FileHash tiedosto.iso -Algorithm SHA512
# Vertaa odotettuun arvoon
(Get-FileHash tiedosto.iso -Algorithm SHA256).Hash -eq "ABC123..."
Algoritmien nopea vertailu
| Algoritmi | Koko | Nopeus | Suositeltu käyttö |
|---|---|---|---|
| CRC32 | 32 bittiä | Erittäin nopea | Verkko- tai tallennusvirheiden havaitseminen, ei-kryptografinen |
| MD5 | 128 bittiä | Nopea | Vain ei-vihamielinen eheys, vältä turvallisuuskäytössä |
| SHA-1 | 160 bittiä | Nopea | Vanhentunut, vanha yhteensopivuus (Git, vanhat paketit) |
| SHA-256 | 256 bittiä | Kohtalainen | Nykyinen standardi, eheyden tarkistus ja allekirjoitukset |
| SHA-512 | 512 bittiä | Nopea 64-bittisessä | Eheyden tarkistus, korkeampi turvamarginaali |
Usein kysytyt kysymykset
MD5 vai SHA-256 ISO:ni tarkistamiseen ?
Oletuksena SHA-256. Lähes kaikki nykyaikaiset Linux-jakelut julkaisevat SHA-256- ja SHA-512-summat, joskus MD5:n rinnalla historiallista yhteensopivuutta varten. Jos julkaisija julkaisee vain MD5-summan ja pelkäät tietoturvaloukkausta, vaadi SHA-256-summaa tai tarkista tarkistussummatiedoston GPG-allekirjoitus. Jos pelkäät vain latauksen korruptoitumista, MD5 riittää teknisesti.
Takaako tarkistussumma tiedostoni turvallisuuden ?
Ei pelkästään. Tarkistussumma todistaa eheyden, ei aitoutta. Jos hyökkääjä hallitsee latauspalvelinta, hän voi julkaista muokatun tiedoston ja sen muokatun tarkistussumman. Todellinen turvallisuus tulee digitaalisesta allekirjoituksesta (GPG, koodin allekirjoitus), joka sitoo tarkistussumman tunnettuun yksityiseen avaimeen. Hae tarkistussumma aina HTTPS:n kautta tai vielä parempaa, todennettavan GPG-allekirjoituksen kautta.
Tarkistussummani ei täsmää, mitä teen ?
Tarkista ensin, että vertaat oikeaa algoritmia : SHA-256 ei voi täsmätä SHA-1:n kanssa. Aloita sitten lataus uudelleen, mieluiten toiselta peilipalvelimelta : yleisin syy on verkkokatkos. Jos ero jatkuu useiden yritysten jälkeen, epäile peilipalvelimen vaarantumista : palaa viralliseen lähteeseen ja tarkista GPG-allekirjoitus, jos sellainen on olemassa. Älä koskaan suorita tai käytä tiedostoa, ennen kuin tarkistussumma täsmää.
Miksi MD5 on vanhentunut ?
MD5 kärsii käytännön törmäyksistä : on mahdollista rakentaa kaksi eri tiedostoa, joilla on täsmälleen sama MD5-tiiviste muutamassa sekunnissa. Tämä ominaisuus rikkoo kryptografisen tiivisteen varsinaisen tehtävän. Käytännössä hyökkääjä voi luoda haitallisen binaarin, jolla on sama MD5 kuin laillisella binaarilla. SHA-1 on kärsinyt samasta ongelmasta vuodesta 2017 lähtien (SHAttered-hyökkäys). Vain SHA-256, SHA-512 ja niiden muunnelmat katsotaan edelleen turvallisiksi vuonna 2026.
Ero tiivisteen (hash) ja tarkistussumman välillä ?
Tiiviste (hash) on hajautusfunktion yleinen tulos. Tarkistussumma on tiiviste, jota käytetään erityisesti tiedon eheyden varmistamiseen. Kaikki tarkistussummat ovat tiivisteitä, mutta kaikki tiivisteet eivät ole tarkistussummarakenteita : salasanan tiivistettä (bcrypt, argon2) käytetään todennukseen, tiivistettä hajautustaulukossa käytetään nopeaan indeksointiin. Termi fingerprint tai sormenjälki on tarkistussumman yleinen synonyymi.
Riittääkö CRC32 tarpeisiini ?
CRC32 riittää, jos haluat vain havaita tahattoman korruptoitumisen ei-vihamielisessä kanavassa : sisäinen verkkosiirto, ZIP-arkiston vahvistus, muistin johdonmukaisuuden tarkistus. Vain 32 bitillä kahdella satunnaisella tiedostolla on noin 1 mahdollisuus 4 miljardista saada sama CRC32 vahingossa, mikä riittää virheen havaitsemiseen. CRC32 on riittämätön heti, kun hyökkääjä voi vaikuttaa sisältöön : on triviaalia väärentää tiedosto, jolla on tietty CRC32-kohde. Käytä SHA-256:ta kaikkeen vahvistamiseen, johon liittyy haitallinen riski.
Miksi tarkistussummani vaihtelee käyttöjärjestelmän mukaan ?
Saman binaarisisällön tarkistussumma on kaikkialla identtinen. Jos saat kaksi eri tulosta, se tarkoittaa, että tiedosto on todellisuudessa erilainen : rivinvaihdot (Windows CRLF vs. Unix LF) tekstimuotoisen FTP-siirron jälkeen, tekstin koodaus muutettu avattaessa, järjestelmän lisäämät metatiedot (macOS Spotlight -resoluutio, laajennetut attribuutit) tai siirto-ohjelman hiljainen uudelleenpakkaus. Siirrä aina binaaritilassa.
Tarkistussumma vai digitaalinen allekirjoitus ?
Tarkistussumma todistaa, ettei tiedostoa ole muutettu julkaisun ja vastaanoton välillä, edellyttäen että tarkistussumma on saatu turvallisen kanavan kautta. Digitaalinen allekirjoitus (GPG, PGP, koodin allekirjoitus) todistaa lisäksi tekijän henkilöllisyyden yksityisen avaimen avulla. Allekirjoitus sisältää ja vahvistaa tarkistussumman : standardikäytäntö Debianissa, Torissa tai Bitcoin Coressa on allekirjoittaa GPG:llä tarkistussummatiedosto, ja käyttää sitten näitä tarkistussummia binaarien vahvistamiseen.
Usein kysytyt kysymykset
Lähetetäänkö tiedosto palvelimelle tarkistussumman laskemiseksi ?
Ei. Laskenta suoritetaan kokonaan selaimessasi Web Crypto API:n ja paikallisten JavaScript-rutiinien avulla. Tiedoston sisältö ei poistu koneeltasi, mikä mahdollistaa arkaluonteisten asiakirjojen, salattujen arkistojen tai tietokantavedosten tiivistämisen täysin luottamuksellisesti. Tämä lähestymistapa takaa myös vakaan suorituskyvyn kaistanleveydestä riippumatta.
Minkä kokoisen tiedoston voin tiivistää tällä työkalulla ?
Laskenta tehdään suoratoistona lohkoittain, joten raja riippuu pääasiassa muistista ja ajasta, jonka selaimesi voi käyttää operaatioon. Muutaman sadan megatavun tiedostot käsitellään ongelmitta tavallisella koneella. Useiden gigatavujen tiedostoille (kokonainen ISO, suuri vedos) suositellaan järjestelmän komentoriviä (sha256sum, Get-FileHash), joka hyödyntää paremmin levy- ja suoritinresursseja.
Mitä eroa on tiedoston ja tekstin tiivistämisellä ?
Algoritmi on täsmälleen sama, vain syöte muuttuu. Tekstille tiivistetään merkkijonon tavusekvenssi tietyssä koodauksessa (yleensä UTF-8). Tiedostolle tiivistetään raaka binaarisisältö tavu kerrallaan, mukaan lukien mahdolliset upotetut otsikot tai metatiedot. Siksi tekstitiedosto ja sen lomakkeeseen kopioitu sisältö voivat antaa eri tarkistussummat (BOM, rivinvaihdot, koodaus).
Miksi ZIP-arkiston tarkistussumma vaihtelee jokaisella luontikerralla ?
Useimmat arkistointiohjelmat (ZIP, TAR.GZ, 7z) tallentavat muuttuvia metatietoja, kuten luontipäivämäärän, tiedostojen järjestyksen tai pakkausindikaattorit. Arkiston luominen uudelleen samalla sisällöllä tuottaa siis eri binaarin ja eri tarkistussumman. Jos haluat tuottaa toistettavia arkistoja, käytä työkaluja kuten diffoscope, strip-nondeterminism tai tar-komennon vaihtoehtoja --mtime ja --sort=name.
Onko olemassa nopeampia vaihtoehtoja kuin SHA-256 eheyden tarkistamiseen ?
Kyllä. BLAKE2 ja BLAKE3 ovat moderneja kryptografisia hajautusfunktioita, jotka on suunniteltu nopeammiksi kuin SHA-256 tarjoten samalla vastaavan tai paremman turvatason. BLAKE3 hyödyntää erityisen hyvin SIMD- ja moniydinrinnakkaisuutta, mikä tekee siitä erittäin tehokkaan suurilla tiedostoilla. Pelkkään ei-vihamieliseen virheenhavaitsemiseen xxHash on nopeudessa lyömätön, mutta se ei ole kryptografinen.
Voinko verrata kahta tiedostoa laskematta niiden koko tiivistettä ?
Kahdelle paikalliselle tiedostolle suora binaarivertailu (cmp Unixissa, fc /b Windowsissa) on nopeampaa kuin molempien tiivistäminen. Tiivisteestä tulee hyödyllinen, kun tiedostot eivät ole samalla koneella tai kun halutaan säilyttää lyhyt sormenjälki säilyttämättä alkuperäistä. Suurten määrien säännöllistä tarkistamista varten indeksoi tiivisteet tietokantaan ja vertaa sormenjälkiä kokonaisten tiedostojen sijaan.
Pyyntöesimerkki
curl -X POST https://cdrn.fr/api/v1/tools/hash-file-generator/execute \
-F "file=@/path/to/file" \
-F "algorithm=adler32"
Syöteskeema
| Kenttä | Tyyppi | Pakollinen | Oletus |
|---|---|---|---|
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) | ✓ | – |
tämä työkalu odottaa tiedostoa - käytä Content-Type multipart/form-data:a application/json:in sijaan
Päätepisteet
GET https://cdrn.fr/api/v1/tools- listaa kaikki saatavilla olevat työkalutGET https://cdrn.fr/api/v1/tools/hash-file-generator- hakee tämän työkalun skeemanPOST https://cdrn.fr/api/v1/tools/hash-file-generator/execute- suorittaa tämän työkalun JSON-payloadilla