Adler32 er en checksum algoritme som sikrer integriteten av overførte data som er lagret eller komprimert og pakket opp. Lages ved å legge alle byte i en data streng ( blokk) eller ord , er en Adler32 checksum en 32 -bits heltall som brukes til å kontrollere data . Algoritmen selv ikke avviker for Java , Python eller noen av de andre programmeringsspråk som bruker det , men skriptet brukes til å ringe algoritme og vise resultatene kan variere avhengig av programmeringsspråk. Adler32 algoritme
Utviklet av Mark Adler basert på Fletchers checksum , gir Adler32 algoritmen en enkelt 32 -bits heltall beregnes fra en streng eller en blokk av data ( startpunkt ) . Når du overfører data , er en sjekk utført på mottakersiden. Hvis resultatet av den kontrollsum for utgangsmaterialet strengen skiller seg på noen måte fra resultatet av kontrollsum på strengen overføres til mottakeren, og dataene er endret på en eller annen måte . Dersom start og avslutning heltall matche , det er en god mulighet dataene mottas er det samme som de dataene du overførte .
Java og Python Script forskjellen
Processing bokstavelige verdier som 32 byte binære verdien som følge av Adler32 sjekksum, presser Java bokstavelig 32 byte binære verdien på en stabel . Python skyver en peker på stabelen som peker til en tilsvarende heltall objekt. I tillegg er Python mer dynamisk ved behandling bytecodes , hvor Java er ikke så fleksibel.
Java
Computing Adler32 sjekksum av en fil krever at du lage et objekt av Adler32 . En FileInputStream klassen skaper en inngang stream å lese bytes fra fil , og når dataene overføres sjekksummen beregnes ved CheckOutputStream klassen som det blir skrevet på output stream . Den getValue ( )-metoden returnerer verdien av sjekksummen og reset ( )-metoden nullstiller verdien tilbake til den opprinnelige kontrollsumverdi
Python
Computing 32 . - bit Adler sjekksum, utfører Python en enkel kommando for å få sjekksummen av en gitt streng . Den bruker en byte buffer ( BUF) for å lagre nummeret . Hvis buf ikke har et tall, returnerer funksjonen en standard verdi.