Adler-32 maišos kodo skaičiuoklė
Paskelbta: 2025 m. vasario 17 d. 18:02:09 UTC
Maišos kodo skaičiuotuvas, kuris naudoja Adler-32 maišos funkciją, kad apskaičiuotų maišos kodą pagal teksto įvestį arba failo įkėlimą.Adler-32 Hash Code Calculator
Adler-32 maišos funkcija yra kontrolinės sumos algoritmas, kuris yra paprastas, greitas ir dažnai naudojamas duomenų vientisumui patikrinti. Jį sukūrė Markas Adleris ir dažniausiai naudojamas tokiose programose kaip zlib duomenų glaudinimui. Skirtingai nuo kriptografinių maišos funkcijų (pvz., SHA-256), Adler-32 sukurtas ne saugumui, o greitam klaidų patikrinimui. Jis apskaičiuoja 32 bitų (4 baitų) kontrolinę sumą, paprastai pateikiamą kaip 8 šešioliktainiai simboliai.
Visiškai atskleidžiu informaciją: šiame puslapyje naudojamos hash funkcijos konkrečios realizacijos nerašiau. Tai standartinė PHP programavimo kalbos funkcija. Aš tik sukūriau žiniatinklio sąsają, kad patogumo dėlei ji būtų viešai prieinama.
Apie Adler-32 maišos algoritmą
Nesu matematikas, bet pabandysiu paaiškinti šią maišos funkciją naudodamas kasdienę analogiją, kurią, tikiuosi, supras mano kolegos ne matematikai. Skirtingai nuo daugelio kriptografinių maišos funkcijų, Adler32 yra gana paprasta kontrolinės sumos funkcija, todėl tai neturėtų būti labai bloga ;-)
Įsivaizduokite, kad turite maišelį mažų sunumeruotų plytelių, kurių kiekviena reiškia raidę arba jūsų duomenų dalį. Pavyzdžiui, žodis „Labas“ turi dvi plyteles: vieną „H“ ir kitą „i“.
Dabar su šiomis plytelėmis atliksime du paprastus dalykus:
1 veiksmas: pridėkite juos (A suma)
- Pradėkite nuo 1 skaičiaus (kaip taisyklė).
- Prie šios sumos pridėkite skaičių iš kiekvienos plytelės.
2 veiksmas: suskaičiuokite visas sumas (B suma)
- Kiekvieną kartą, kai prie sumos A pridedate naują plytelės skaičių, prie sumos B taip pat pridedate naują sumos A reikšmę.
- Tai panašu į monetų krovimą: įdedate vieną monetą ant viršaus (A suma), o tada užrašote naują bendrą krūvos aukštį (B suma).
Pabaigoje suklijuojate dvi sumas, kad susidarytumėte vieną didelį skaičių. Tas didelis skaičius yra Adler-32 kontrolinė suma.