Beregn checksum for en fil

beregner en fils checksum i MD5, SHA-1, SHA-256 eller SHA-512. Ideel til at verificere integriteten af en download eller detektere en ændring

Hvad er en kontrolsum?

En kontrolsum (nogle gange stavet chksum) er et unikt digitalt fingeraftryk, der beregnes ud fra indholdet af en fil ved hjælp af en hashing-algoritme. Dette fingeraftryk eller fingeraftryk er generelt repræsenteret af en hexadecimal streng med fast længde.

Den grundlæggende egenskab ved en god hashing-algoritme er lavineeffekten: enhver ændring af kildefilen, selv med en enkelt bit, producerer en radikalt anderledes kontrolsum. To filer med strengt identisk indhold producerer altid den samme kontrolsum, uanset filnavn, ændringsdato eller operativsystem.

Kontrolsummen bruges hovedsageligt til at verificere integriteten af en fil: hvis fingeraftrykket, der genberegnes lokalt, svarer til det, som udgiveren har annonceret, er filen intakt. Ellers er den blevet ændret, ødelagt under transporten eller modificeret.

Hvad bruges det egentlig til?

  • Tjek integriteten af en download: en Linux ISO (Debian, Ubuntu, Fedora, Arch), et Docker-image, et Windows-installationsprogram eller et open source-arkiv udgiver systematisk en officiel kontrolsum. Genberegning af den lokalt bekræfter, at filen er komplet og uændret.
  • Detekter korruption under overførsel: En klipning af download, en defekt disksektor, ustabil RAM, et vildt netværkskabel eller en kopi på en USB-nøgle kan ødelægge bytes. Kontrolsummen afslører straks disse tavse fejl.
  • Signaturfingeraftryk: Bekræft, at en fil kommer fra den forventede forfatter, når kontrolsummen udsendes via en sikker kanal (HTTPS, GPG-signatur). Dette er mekanismen bag Linux-pakkedepoter og applikationsbutikker.
  • Versionering og caching: Git identificerer hver commit, blob og træ med en SHA-1-hash (migrerer til SHA-256). CDN'er og webbundtere (Webpack, Vite, esbuild) injicerer en hash i filnavnet (app.4a8f2c.js) for automatisk at ugyldiggøre browsercachen ved en ændring.
  • Duplikatdetektering og deduplikering: Inkrementelle sikkerhedskopier (Borg, Restic, rsync), filsystemer (ZFS) og objektlager identificerer identiske blokke ved deres hash til kun at gemme en enkelt kopi.
  • Uploadvalidering: en klient sender den forventede kontrolsum, serveren genberegner den ved modtagelse. AWS S3 accepterer for eksempel en Content-MD5- eller x-amz-checksum-sha256-header for at afvise en beskadiget upload.
  • Trusselsintelligens og antivirus: VirusTotal- og antivirusleverandører indekserer ondsindede filer ved deres SHA-256-hash, som tillader detektion uden at overføre hele binære filer.

Understøttede algoritmer og forskelle

  • MD5 (128 bit, 32 hexadecimale tegn): hurtig, udbredt, men kryptografisk brudt. MD5-kollisioner kan beregnes på få sekunder på nuværende hardware siden 2004. Skal kun bruges til ikke-ondsindet integritetsverifikation (download mod netværksafbrydelse, lokal backup). Forbudt for enhver sikkerhedsfunktion, signatur eller godkendelse.
  • SHA-1 (160 bit, 40 hexadecimale tegn): forældet til kryptografi siden SHAttered-angrebet i 2017, som demonstrerede en faktisk kollision mellem to separate PDF-filer. Git bruger det stadig som standard, men migrerer til SHA-256. Brug det ikke længere til at signere eller godkende.
  • SHA-256 (256 bit, 64 hexadecimale tegn): moderne standard, medlem af SHA-2-familien. Basis for moderne TLS-certifikater, Linux-pakkesignaturer (apt, dnf, pacman), Bitcoin og officielle integritetstjek. Langsommere end MD5, men sikkert baseret på nuværende viden.
  • SHA-512 (512 bit, 128 hexadecimale tegn): 64-bit variant af SHA-2. Håndterer 64-bit ord indbygget, hvilket gør det nogle gange hurtigere end SHA-256 på 64-bit CPU. Længere fodaftryk, større sikkerhedsmargin.
  • CRC32 (32 bit, 8 hexadecimale tegn): ikke-kryptografisk, ultrahurtig, designet specifikt til at opdage transmissionsfejl. Bruges af Ethernet, ZIP, PNG, gzip. Beskytter ikke mod ondsindet hensigt: en angriber kan trivielt forfalske en fil med samme CRC32 som en anden. Velegnet til hurtig hardwarekontrol, ikke sikkerhed.

Brug cases

  • Tjek en Linux ISO: Debian, Ubuntu, Fedora og Arch udgiver SHA-256 og SHA-512 for hvert officielt billede, ofte kontrasigneret i GPG.
  • Valider en signeret binær: bekræft, at en eksekverbar fil, der er downloadet fra et spejl, ikke er blevet erstattet af en tricked version.
  • Sammenlign to versioner: Før og efter en ændring beviser en identisk kontrolsum identiteten bit for bit uden at skulle distribuere filerne.
  • Uploadvalidering: Klienten sender en kontrolsum, serveren genberegner den ved modtagelse for at bekræfte fraværet af korruption.
  • Fingeraftryk: registrering af bots eller kendte filer i fingeraftryksdatabaser (antivirus, trusselsintelligens, duplikatsøgning).

Hvordan man bruger det

  1. Træk og slip filen i det angivne område, eller brug valgknappen.
  2. Vælg algoritmen: MD5, SHA-1, SHA-256, SHA-512 eller CRC32.
  3. Kontrolsummen vises, klar til at blive kopieret.
  4. Sammenlign den opnåede værdi med referenceværdien (udgivet af udgiveren eller opbevaret lokalt).

Beregningen foretages lokalt i din browser uden at sende filen til en ekstern server. Indholdet forbliver fortroligt.

Hvordan bekræfter man en download med checksum?

Standard verifikationsproceduren er som følger:

  1. Det officielle websted udgiver den forventede kontrolsum, f.eks. d41d8cd98f00b204e9800998ecf8427e for MD5 eller en streng på 64 tegn for SHA-256.
  2. Download filen.
  3. Beregn dens kontrolsum, enten med dette værktøj eller på kommandolinjen.
  4. Sammenlign: hvis de to strenge er strengt identiske, tegn for tegn, er filen intakt. Hvis de adskiller sig, selv med et enkelt tegn, er filen beskadiget eller manipuleret: brug den ikke, download den igen.

Fra kommandolinjen under Linux:


# Beregn kontrolsummen
md5sum file.iso
sha1sum file.iso
sha256sum file.iso
sha512sum file.iso
cksum file.iso # CRC32 + størrelse

# Tjek automatisk fra en .sha256-fil udgivet af redaktøren
sha256sum -c file.iso.sha256
# Viser: "file.iso: OK", hvis kontrolsummen matcher

Under macOS:


md5 fil.iso
shasum -a 1.iso-fil
shasum -a 256 file.iso
shasum -a 512 file.iso

# Bekræftelse fra en referencefil
shasum -a 256 -c file.iso.sha256

Under Windows (PowerShell):


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

# Sammenlign med en forventet værdi
(Get-FileHash file.iso -Algorithm SHA256).Hash -eq "ABC123..."

Hurtig algoritme sammenligning

Algorithme Størrelse Hastighed Anbefalet brug
CRC32 32-bit Meget hurtigt Netværks- eller lagerfejldetektering, ikke-kryptografisk
MD5 128 bit Hurtig Kun ikke-fjendtlig integritet, som skal undgås i sikkerhed
SHA-1 160 bit Hurtig Forældet, gammel kompatibilitet (Git, gamle pakker)
SHA-256 256 bit Moderat Nuværende standard, integritetskontrol og signaturer
SHA-512 512 bit Hurtig i 64 bit Integritetstjek, højere sikkerhedsmargin

FAQ

MD5 eller SHA-256 for at tjekke min ISO?

SHA-256 som standard. Næsten alle moderne Linux-distributioner frigiver SHA-256 og SHA-512, nogle gange sammen med MD5 for historisk kompatibilitet. Hvis udgiveren kun udgiver MD5, og du er bekymret for kompromittering, skal du kræve SHA-256 eller kontrollere GPG-signaturen for kontrolsumfilen. Hvis du bare er bekymret over downloadkorruption, er MD5 teknisk nok.

Giver kontrolsummen sikkerheden for min fil?

Nej, ikke for ham alene. En kontrolsum beviser integritet, ikke ægthed. Hvis en angriber kontrollerer downloadserveren, kan han udgive en ændret fil og dens ændrede kontrolsum. Den reelle sikkerhed kommer fra en digital signatur (GPG, kodesignering), som forbinder kontrolsummen til en kendt privat nøgle. Hent altid kontrolsummen via HTTPS eller bedre, via en verificerbar GPG-signatur.

Min kontrolsum stemmer ikke overens, hvad skal jeg gøre?

Først skal du sikre dig, at du sammenligner den korrekte algoritme: SHA-256 kan ikke matche SHA-1. Start derefter overførslen igen, ideelt set fra et andet spejl: den mest almindelige årsag er et netværksafbrydelse. Hvis uoverensstemmelsen fortsætter efter flere forsøg, skal du have mistanke om et kompromittering af spejlet: Gå tilbage til den officielle kilde og tjek GPG-signaturen, hvis den findes. Kør eller brug aldrig filen, før kontrolsummen matcher.

Hvorfor er MD5 udfaset?

MD5 lider under praktiske kollisioner: det er muligt at konstruere to forskellige filer med nøjagtig den samme MD5-hash på få sekunder. Denne egenskab krænker selve funktionen af en kryptografisk hash. Konkret kan en angriber oprette en ondsindet binær med samme MD5 som en legitim binær. SHA-1 har lidt af det samme problem siden 2017 (SHAttered attack). Kun SHA-256, SHA-512 og deres varianter anses for at være sikre i 2026.

Forskellen mellem hash og checksum?

En hash er det generiske resultat af en hash-funktion. En kontrolsum er en hash, der bruges specifikt til at verificere integriteten af data. Alle kontrolsummer er hashes, men ikke alle hashes er kontrolsummer: en adgangskodehash (bcrypt, argon2) bruges til godkendelse, en hash i en hashtabel bruges til hurtig indeksering. Udtrykket fingeraftryk eller fingeraftryk er et almindeligt synonym for kontrolsum.

Er CRC32 nok til mine behov?

CRC32 er tilstrækkelig, hvis du kun søger at opdage utilsigtet korruption på en ikke-fjendtlig kanal: intern netværksoverførsel, ZIP-arkivtjek, kontrol af hukommelseskonsistens. Med kun 32 bit har to tilfældige filer omkring en 1 ud af 4 milliarder chance for at have den samme CRC32 tilfældigt, hvilket er tilstrækkeligt til fejldetektion. CRC32 er utilstrækkelig, så snart en angriber kan påvirke indholdet: det er trivielt at forfalske en fil med et mål CRC32. For enhver verifikation mod ondsindet risiko, brug SHA-256.

Hvorfor varierer min kontrolsum afhængigt af operativsystemet?

Kontrolsummen af det samme binære indhold er identisk overalt. Hvis du får to forskellige resultater, er filen faktisk forskellig: linjeafslutninger (Windows CRLF vs Unix LF) efter en FTP-overførsel i teksttilstand, tekstkodning ændret ved åbning, metadata tilføjet af systemet (macOS Spotlight-opløsning, udvidede attributter) eller tavs rekomprimering af en overførselsklient. Overfør altid i binær tilstand.

Tjeksum eller digital signatur?

En kontrolsum beviser, at en fil ikke er blevet ændret mellem offentliggørelse og modtagelse, forudsat at kontrolsummen hentes gennem en sikker kanal. En digital signatur (GPG, PGP, kodesignering Authenticode) beviser også forfatterens identitet ved hjælp af en privat nøgle. Signaturen omfatter og forstærker kontrolsummen: standardpraksis hos Debian, Tor eller Bitcoin Core er at underskrive checksums-filen i GPG og derefter bruge disse kontrolsummer til at verificere binære filer.

Ofte stillede spørgsmål

Er filen sendt til en server for at beregne kontrolsummen?

Nej. Beregningen udføres udelukkende i din browser ved hjælp af Web Crypto API og lokale JavaScript-rutiner. Filindholdet forlader ikke din maskine, hvilket tillader, at følsomme dokumenter, krypterede arkiver eller databasedumps kan hashes fortroligt. Denne tilgang garanterer også stabil ydeevne, uafhængig af båndbredde.

Hvilken størrelse fil kan jeg hash med dette værktøj?

Beregningen udføres streaming i blokke, så grænsen afhænger i det væsentlige af hukommelsen og den tid, som din browser kan bruge på operationen. Et par hundrede megabyte passerer uden besvær på en standardcomputer. For filer på flere gigabyte (fuld ISO, stor dump), skal du foretrække systemets kommandolinje (sha256sum, Get-FileHash), som bedre bruger disk- og CPU-ressourcer.

Hvad er forskellen mellem hashing af en fil og hashing af tekst?

Algoritmen er strengt taget den samme, kun input ændres. For tekst hash vi sekvensen af bytes af strengen i en given kodning (typisk UTF-8). For en fil hash vi det rå binære indhold, byte for byte, inklusive eventuelle indlejrede overskrifter eller metadata. Dette er grunden til, at en tekstfil og dens indhold kopieret til en formular kan give forskellige kontrolsummer (stykliste, linjeafslutninger, kodning).

Hvorfor varierer kontrolsummen for et ZIP-arkiv med hver oprettelse?

De fleste arkivere (ZIP, TAR.GZ, 7z) gemmer variable metadata såsom oprettelsesdato, filrækkefølge eller komprimeringsindikatorer. Genoprettelse af et arkiv med det samme indhold producerer derfor en anden binær og en anden kontrolsum. For at opnå reproducerbare arkiver skal du bruge værktøjer som diffoscope, strip-nodeterminism eller --mtime og --sort=name mulighederne for tar.

Er der hurtigere alternativer til SHA-256 til kontrol af integritet?

Ja. BLAKE2 og BLAKE3 er moderne kryptografiske hash-funktioner, designet til at være hurtigere end SHA-256 og samtidig give et tilsvarende eller højere sikkerhedsniveau. BLAKE3 udnytter SIMD og multi-core parallelisme særligt godt, hvilket gør det meget effektivt på store filer. Til ren ikke-fjendtlig fejldetektion er xxHash uovertruffen i hastighed, men forbliver ikke-kryptografisk.

Kan jeg sammenligne to filer uden at beregne hele deres hash?

For to lokale filer er en direkte binær sammenligning (cmp på Unix, fc /b på Windows) hurtigere end at hashe begge. Hash'en bliver nyttig, når filerne ikke er på samme maskine, eller når du vil beholde et kort fodaftryk uden at beholde originalen. For hyppige kontroller af store mængder skal du indeksere hasherne i en database og sammenligne fingeraftryk i stedet for komplette filer.

Anmodningseksempel

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

Inputskema

Felt Type Påkrævet Standard
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)

dette værktøj forventer en fil - brug Content-Type multipart/form-data i stedet for application/json

Endpoints

  • GET https://cdrn.fr/api/v1/tools - lister alle tilgængelige værktøjer
  • GET https://cdrn.fr/api/v1/tools/hash-file-generator - henter skemaet for dette værktøj
  • POST https://cdrn.fr/api/v1/tools/hash-file-generator/execute - udfører dette værktøj med et JSON-payload