Een controlesom is het resultaat van het uitvoeren van een algoritme, een cryptografische hashfunctie genoemd, op een stuk gegevens, meestal een enkel bestand. Door de controlesom die u genereert op basis van uw versie van het bestand te vergelijken met die van de bron van het bestand, kunt u er zeker van zijn dat uw kopie van het bestand echt en vrij van fouten is.
Een controlesom wordt soms ook een hash-som genoemd en minder vaak een hash-waarde, hash-code of gewoon een hash.
Een eenvoudig controlesomvoorbeeld
Het idee van een checksum of een cryptografische hashfunctie lijkt misschien ingewikkeld en misschien niet de moeite waard, maar we willen je graag van het tegendeel overtuigen! Controlesommen zijn echt niet zo moeilijk te begrijpen of te maken.
Laten we beginnen met een eenvoudig voorbeeld, hopelijk laten we de kracht van controlesommen zien om te bewijzen dat er iets is veranderd. De MD5-controlesom voor de volgende zin is een lange reeks tekens die die zin vertegenwoordigen.
Dit is een test.
120EA8A25E5D487BF68B5F7096440019
Voor onze doeleinden hier zijn ze in wezen gelijk aan elkaar. Maar zelfs een kleine wijziging aanbrengen, zoals het verwijderen van alleen de punt, levert een heel andere controlesom op.
Dit is een test
CE114E4501D2F4E2DCEA3E17B546F339
Zoals je kunt zien, zal zelfs een minuscule wijziging in het bestand een enorm andere controlesom opleveren, waardoor het heel duidelijk wordt dat de ene niet gelijk is aan de andere.
Checksum Use Case
Stel dat je een grote software-update downloadt, zoals een servicepack. Dit is waarschijnlijk een enorm bestand dat enkele minuten of langer duurt om te downloaden.
Eenmaal gedownload, hoe weet u dan dat het bestand correct is ontvangen? Wat als er een paar bits zijn weggevallen tijdens de overdracht en het bestand dat je nu op je computer hebt niet precies is wat de bedoeling was? Als u een update toepast op een programma dat niet precies is zoals de ontwikkelaar het heeft gemaakt, kunt u grote problemen krijgen.
Dit is waar het vergelijken van controlesommen je gerust kan stellen. Ervan uitgaande dat de website waarvan u het bestand hebt gedownload de checksum-gegevens levert naast het te downloaden bestand, kunt u een checksum-calculator gebruiken (zie "Checksum-calculators" hieronder) om een checksum te maken van uw gedownloade bestand.
Stel bijvoorbeeld dat de website de controlesom MD5:5a828ca5302b19ae8c7a66149f3e1e98 levert voor het bestand dat u hebt gedownload. Vervolgens gebruikt u uw eigen checksum-calculator om een checksum te maken met dezelfde cryptografische hashfunctie, MD5 in dit voorbeeld, op het bestand op uw computer. Komen de checksums overeen? Super goed! U kunt er zeker van zijn dat de twee bestanden identiek zijn.
Komen de checksums niet overeen? Dit kan van alles betekenen, van het feit dat iemand de download heeft vervangen door iets kwaadaardigs zonder dat je het weet, tot een minder sinistere reden zoals dat je het bestand hebt geopend en gewijzigd, of de netwerkverbinding is onderbroken en het downloaden van het bestand niet is voltooid. Probeer het bestand opnieuw te downloaden en maak vervolgens een nieuwe controlesom voor het nieuwe bestand en vergelijk het opnieuw.
Checksums zijn ook handig om te verifiëren dat een bestand dat je hebt gedownload van ergens anders dan de oorspronkelijke bron, in feite een geldig bestand is en niet, kwaadwillig of anderszins, is gewijzigd ten opzichte van het origineel. Vergelijk gewoon de hash die u maakt met de hash die beschikbaar is in de bron van het bestand.
Checksum-rekenmachines
Checksum-calculators zijn de tools die worden gebruikt om checksums te berekenen. Er zijn er genoeg die elk een andere set cryptografische hashfuncties ondersteunen.
Een geweldige gratis optie is Microsoft File Checksum Integrity Verifier, kortweg FCIV genoemd. Het ondersteunt alleen de cryptografische hashfuncties MD5 en SHA-1, maar deze zijn op dit moment verreweg het populairst. Zie ons stuk over het verifiëren van bestandsintegriteit in Windows met FCIV voor een volledige zelfstudie. Microsoft File Checksum Integrity Verifier is een opdrachtregelprogramma, maar is zeer eenvoudig te gebruiken.
U kunt ook het certutil programma gebruiken dat in Windows is ingebouwd. Dit is ook een opdrachtregelprogramma, maar het is even gemakkelijk om het te gebruiken om de MD5-controlesom van bestanden te valideren. Dat artikel beschrijft ook hoe je hetzelfde kunt doen op Linux met md5sum.
Een andere uitstekende gratis checksum-calculator voor Windows is IgorWare Hasher, en het is volledig draagbaar, dus je hoeft niets te installeren (maar je hebt een RAR-bestandsopener nodig om het programma uit te pakken). Als u niet vertrouwd bent met opdrachtregelprogramma's, is deze tool waarschijnlijk een betere keuze. Het ondersteunt MD5 en SHA-1, evenals CRC32. U kunt het gebruiken om de controlesom van tekst en bestanden te vinden.
JDigest is een open source checksum-calculator die zowel in Windows als op macOS en Linux werkt.
Aangezien niet alle checksum-calculators alle mogelijke cryptografische hash-functies ondersteunen, moet u ervoor zorgen dat elke rekenmachine die u kiest de hash-functie ondersteunt die de checksum produceerde die hoort bij het bestand dat u downloadt.
FAQ
Zijn alle controlesommen uniek?
Ja. Alleen bestanden die identiek zijn, hebben dezelfde controlesom. Het veranderen van iets anders dan de bestandsnaam zal resulteren in een andere controlesom.
Hoe berekenen checksum-calculators checksums?
Checksum-calculators gebruiken een aantal algoritmen, waaronder longitudinale pariteitscontrole, Fletcher's checksum, Adler-32 en cyclische redundantiecontroles (CRC's).
Hoe valideer ik meerdere controlesommen tegelijk?
Je kunt de controlesom van meerdere bestanden tegelijk krijgen met het MD5-commando. Open de terminal en typ md5 gevolgd door elke bestandsnaam (gescheiden door spaties), en druk vervolgens op Enter.