Adler-32 Hash-kodekalkulator
Publisert: 17. februar 2025 kl. 18:02:25 UTC
Hash-kodekalkulator som bruker Adler-32-hash-funksjonen til å beregne en hashkode basert på tekstinntasting eller filopplasting.Adler-32 Hash Code Calculator
Adler-32-hash-funksjonen er en kontrollsumalgoritme som er enkel, rask og ofte brukt for verifisering av dataintegritet. Den ble designet av Mark Adler og brukes ofte i applikasjoner som zlib for datakomprimering. I motsetning til kryptografiske hash-funksjoner (som SHA-256), er ikke Adler-32 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 Algorithm
Jeg er ingen matematiker, men jeg skal prøve å forklare denne hash-funksjonen ved å bruke en hverdagslig analogi som jeg håper mine andre ikke-matematikere kan forstå. I motsetning til mange av de kryptografiske hash-funksjonene, er Adler32 en ganske enkel kontrollsum-funksjon, 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 brikke til denne summen.
Trinn 2: Hold en løpende sum av alle summene (sum B)
- Hver gang du legger til en ny brikkes nummer til Sum A, legger du også den nye verdien av Sum A til 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).
På slutten limer du de to summene sammen for å lage et enkelt stort tall. Det store tallet er Adler-32-sjekksummen.