Konsepter:Sjekksum
Fra CodeWiki
Sjekksum er en måte å vertifisere integriteten av data ved å generere en kort kode basert på en større bit med data. Hvis dataen har blitt endret eller modifisert på noe vis, vil mest sannsynlig sjekksummen ikke stemme med den nye modifiserte filen. Dette er meget nyttig i forbindelse med filkorrupsjon eller andre uheldige filmodifikasjonerI eksempelet under skal vi se på hvordan det hele fungerer.
Eksempel
Overføring av noen byter:
Det som skal overføres: 0x25 + 0x62 + 0x3F + 0x52 = 0x118
Sender --> Mottaker
Vi ønsker muligheten til å kontrollere om det skjer en feil.
Skal vi lage en sjekksum på dette må vi huske at en sjekksum har en standard lengde. Vi skal ha en 1-bytes sjekksum.
0x118 kan skrives som 0001 0001 1000. Vi ønsker oss nå en sjekksum på 1 byte. Da tar vi vare på de 8 minst betydningsfulle bit'ene her og kutter ut det andre, i dette tilfellet, 0001. Da får vi ut en sjekksm:
0x18. Denne sjekksummen er på en måte fingeravtrykket i meldingen.
Nå skal vi ta 2's kompliment til svaret vi fikk.
0x18 = 0001 1000. For å finne 2's kompliment går vi fra høyre mot venstre. Vi beholder sifferne til og med første 1. Dermed skal vi invertere de andre. Da får vi : 1110 1000.
Endelig sjekksum: E8.
Den totale meldingen som blir sendt blir: 4 bytes + 0xE8. Summerer vi sammen de 4 bytene og 0xE8 skal vi få 0. Har vi fått forstyrrelse på nyttedataen vår vil vi få noe som er forskjellig fra 0 hvis noe har gått galt.
0x18+0xE8 = 00
