Batch-filhash og manifestverificering

Vælg eller slip mange filer på én gang, og denne side beregner MD5-, SHA-1-, SHA-256-, SHA-384- eller SHA-512-digesten for hver enkelt af dem, helt inde i browseren. Derefter kan resultaterne kopieres ud som sha256sum-kompatible linjer til egne udgivelsesnoter, eller et checksum-manifest (SHA256SUMS, .sha256, .sfv, BSD-output fra openssl dgst) kan indsættes, så siden viser, hvilke filer der blev verificeret, hvilke der ikke stemte, og hvilke der mangler. Intet uploades nogen steder. Til en enkelt fil med flere algoritmer, se Hash-generatoren.
Slip filer her, eller klik for at vælge dem
Op til 50 filer, 200 MB hver. Filerne forbliver på denne maskine.
Ingen filer valgt.
— hex-output; vælg mindst ét.
Klik på en digest-celle for at kopiere den. Navne og størrelser vises altid, så tabellen også fungerer som en visning af filstørrelser i batchen.
Digest-tabellen vises her, når filer er valgt, og der er trykket på Beregn.
Indsæt et manifest i GNU- (hash  navn), BSD- (SHA256 (navn) = hash), SFV- (navn crc32) eller plain-stil (sha256=hash), eller upload selve filen .sha256 / SHA256SUMS / .sfv. Linjer, der starter med ;, behandles som kommentarer.
Privatliv: alle digests beregnes med browserens egen JavaScript- og WebCrypto-motor — filerne forlader aldrig denne fane. Tip: efter verifikation af en download kan siden lukkes uden problemer; intet blev gemt.

Hvad er batch-filhashing?

En checksum er et kort fingeraftryk af en fil: lad filens bytes gå gennem en hashfunktion, og man får et digest, der næsten med sikkerhed ændrer sig, selv når en eneste byte i filen ændres. Softwareudbydere offentliggør disse digests ved siden af deres downloads, så man kan bevise, at den fil, man har modtaget, er den, de sendte — downloaden blev ikke afkortet eller ødelagt, og ingen har byttet indholdet ud.

At gøre det én fil ad gangen er fint til én download. Så snart man har en mappe med filer eller et udgivelsesarkiv med et SHA256SUMS-manifest indeni, vil man have den batch-version: hash hver fil én gang, og kontrollér derefter hver linje i manifestet mod den tilsvarende fil. Det er netop den løkke, denne side automatiserer.

De manifestformater, denne side læser

StilEksempellinjeHvor man møder den
GNU900150983c...  hello.txtOutput fra sha256sum / md5sum, SHA256SUMS-filer i Linux-udgivelser
BSDSHA256 (hello.txt) = 900150983c...openssl dgst -sha256 på macOS/BSD
SFVhello.txt 1A2B3C4DSimple File Verification-filer, gamle binære nyhedsgrupper
plainsha256=ba7816bf...Downloadsider, udgivelsesnoter, Docker checksums

Hashlængden identificerer selv algoritmen: 32 hex-tegn betyder MD5, 40 betyder SHA-1, 64 betyder SHA-256, 96 SHA-384 og 128 SHA-512 — så GNU-formatlinjer ikke behøver at angive, hvilket program der producerede dem.

Kort om hvordan det virker

Hver fil læses én gang med browserens FileReader og overgives til crypto.subtle.digest (SHA-familien) og en lokal MD5-implementering. Digests hex-kodes og stilles op ved siden af manifestposterne; en fil verificeres kun, når den beregnede digest er præcis lig den forventede, tegn for tegn. SFV-linjer indeholder en CRC-32 i stedet for en kryptografisk hash — siden markerer dem som ikke understøttede i stedet for at lade som om, en CRC er en digest.

Almindelige fejl

“Alle mine filer siger uoverensstemmelse.” — den typiske årsag er et manifest lavet til en anden version af downloaden. Kontrollér filnavnene først: matcheren sammenligner grundnavne, så dist/app-1.2.bin matcher en manifestlinje for app-1.2.bin. “SHA-1 verificeret, så filen er sikker?” — nej. Verifikation beviser, at bytes svarer til det, udgiveren har frigivet; om udgiveren er troværdig, er et andet spørgsmål. Og SHA-1 har været kollisionsbrudt siden 2017, så foretræk SHA-256-manifester, når der er valg.

Ofte stillede spørgsmål

Er hashing af en stor fil langsomt? — nogenlunde et sekund pr. 200 MB på en normal maskine; en statuslinje viser, hvor langt batchen er nået.
Kan jeg verificere et CRC-32 SFV-manifest? — SFV-linjer læses og vises, men en CRC-32 beregnes ikke af denne side; brug CRC-værktøjet på krypto-hubben til enkeltfiler.
Hvorfor kun hex? — manifester i omløb er hex; base64-digests er en fordel.
Hvad sker der med mine filer? — ingenting: ingen server, ingen lagring, ingen analyse; luk fanen, og alle inputbytes er væk.