MD2 maišos kodo skaičiuoklė
Paskelbta: 2025 m. vasario 16 d. 22:38:28 UTC
Maišos kodo skaičiuotuvas, kuris naudoja Message Digest 2 (MD2) maišos funkciją, kad apskaičiuotų maišos kodą pagal teksto įvestį arba failo įkėlimą.MD2 Hash Code Calculator
MD2 (Message Digest 2) maišos funkcija yra kriptografinė maišos funkcija, kurią 1989 m. sukūrė Ronaldas Rivestas. Ji buvo specialiai optimizuota 8 bitų kompiuteriams. Nors dabar laikoma pasenusia ir nesaugia kriptografijos tikslais, ji įtraukta čia, jei reikia apskaičiuoti atgalinį maišos kodą. Jis neturėtų būti naudojamas kuriant naujas sistemas.
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 MD2 maišos algoritmą
Man sekasi paprasta matematika, bet ne itin gerai ir jokiu būdu nelaikau savęs matematiku, todėl pabandysiu paaiškinti, kaip ši maišos funkcija veikia ne matematikams suprantamais terminais. Jei jums labiau patinka visapusiška matematikos versija, ją pakankamai lengva rasti daugelyje kitų žiniatinklio vietų ;-)
Dabar įsivaizduokite, kad turite receptą, kuris paima bet kokius ingredientus (jūsų žinutė) ir visada paverčia juos tiksliai viena maža 16 dalių šokolado plytele (maišos). Nesvarbu, kokie yra jūsų ingredientai, kokie jie dideli ar maži, visada gausite tokio paties dydžio šokolado plytelę.
Šio recepto tikslas yra:
- Negalite atspėti ingredientų vien pažvelgę į šokoladą.
- Net ir nedidelis ingredientų pakeitimas šokolado skonį paverčia visiškai kitokiu, todėl žinosite, ar kas nors sumaišė ingredientus ar receptą.
Šokolado plytelės kūrimas susideda iš trijų etapų:
1 veiksmas: pranešimo užpildymas (sudedamųjų dalių derinimas)
Tarkime, kad turite krepšelį, kuriame telpa lygiai 16 obuolių (arba ingredientų). Bet ką daryti, jei turite tik 14 obuolių? Norėdami užpildyti krepšelį, turėsite pridėti dar 2. Jei esate mažas, tiesiog pridėkite papildomų obuolių. Pavyzdžiui:
- Jei reikia dar dviejų, pridėkite du obuolius.
- Jei turite daugiau nei 16, turite užpildyti kitą basked. Pavyzdžiui, jei turite 28, pridėkite keturis, kad gautumėte 32 (du kartus 16).
Taip užtikrinama, kad kiekvienas krepšelis būtų pilnas prieš pereinant prie kito žingsnio.
2 veiksmas: kontrolinės sumos pridėjimas (slaptas ingredientų sąrašas)
Dabar mes sudarome slaptą ingredientų sąrašą pagal viską, kas yra krepšelyje.
- Eini per kiekvieną krepšelį, žiūri į obuolius ir užrašai kiekvienam slaptą kodą.
- Tai ne tik kopija – tai tarsi skaičių sudėjimas keistu būdu, kad net jei kas nors įlįstų ir pakeistų obuolį, sąrašas atrodytų neteisingas.
Šis sąrašas padeda dar kartą patikrinti, ar ingredientai nebuvo sumaišyti vėliau.
3 veiksmas: sumaišykite viską kartu (Magic Blender)
Dabar ateina linksmoji dalis – maišymas!
- Turite 48 lizdų maišytuvą.
- Jūs įmetate:
- Obuoliai (jūsų žinutė).
- Kažkoks senas mišinys iš ankstesnio (pirmoje partijoje pradedamas tuščias).
- Pirmųjų dviejų dalykų derinys.
Tada sumaišykite. Bet ne tik vieną kartą. Maišykite 18 kartų, kiekvieną kartą keisdami greitį ir kryptį. Tai nėra įprastas maišymas – kiekvienas raundas maišo mišinį ypatingai taip, kad net vienas skirtingas obuolys viso šokolado skonis būtų kitoks.
Galutinis šokolado batonėlis (The Hash)
Po viso to maišymo išpilate tik 16 viršutinių mišinio dalių. Tai jūsų paskutinė šokolado plytelė – MD2 maiša. Tai nepanašu į originalius obuolius, o jei bandytumėte atspėti originalius ingredientus tik iš šokolado, niekada to negalėtumėte.
Prisiminkite:
- Tie patys ingredientai = tas pats šokoladas.
- Pakeisti nors vieną obuolį = visiškai kitoks šokoladas.
- Jūs negalite grįžti atgal – jūs negalite suprasti originalių obuolių vien iš šokolado.