Adler-32 Hash-kodekalkulator
Publisert: 17. februar 2025 kl. 18:02:25 UTC
Sist oppdatert: 13. september 2025 kl. 22:52:55 UTC
Adler-32 Hash Code Calculator
Adler-32 hash-funksjonen er en kontrollsumalgoritme som er enkel, rask og ofte brukt til verifisering av dataintegritet. Den ble designet av Adler og brukes ofte i applikasjoner som zlib for datakomprimering. I motsetning til kryptografiske hash-funksjoner (som SHA-256), er Adler-32 ikke designet for sikkerhet, men for rask feilkontroll. Den beregner en 32-biters (4 byte) kontrollsum, vanligvis representert som 8 heksadesimale tegn.
Full åpenhet: Jeg har ikke skrevet den spesifikke implementasjonen av hash-funksjonen som brukes på denne siden. Det er en standardfunksjon som følger med programmeringsspråket PHP. Jeg har bare laget webgrensesnittet for å gjøre den offentlig tilgjengelig her for enkelhets skyld.
Om Adler-32 hash-algoritmen
Jeg er ikke matematiker, men jeg skal prøve å forklare denne hash-funksjonen ved hjelp av en hverdagsanalogi som jeg håper mine kolleger som ikke er matematikere kan forstå. I motsetning til mange av de kryptografiske hash-funksjonene, er Adler32 en ganske enkel sjekksumfunksjon, så dette burde ikke være så ille ;-)
Tenk deg at du har en pose med små nummererte fliser, som hver representerer en bokstav eller en del av dataene dine. For eksempel har ordet "Hei" to fliser: en for "H" og en for "i".
Nå skal vi gjøre to enkle ting med disse flisene:
Trinn 1: Legg dem sammen (sum A)
- Start med tallet 1 (bare som regel).
- Legg til tallet fra hver flis i denne summen.
Trinn 2: Hold en løpende sum av alle summene (Sum B)
- Hver gang du legger til nummeret til en ny flis i Sum A, legger du også til den nye verdien for Sum A i Sum B.
- Det er som å stable mynter: du legger en mynt på toppen (Sum A), og så skriver du ned den nye totale stabelhøyden (Sum B).
Til slutt limer du de to summene sammen for å lage et enkelt stort tall. Det store tallet er Adler-32-sjekksummen.
Videre lesing
Hvis du likte dette innlegget, kan du også like disse forslagene:
- RIPEMD-160 Hash-kodekalkulator
- Fowler-Noll-Vo FNV1a-64 Hash-kodekalkulator
- MurmurHash3A Hash-kodekalkulator