Miért nem visszafejthetőek a hashek?
Utánanéztem a témának, és ami azt illeti, túlságosan is sok anyagot találtam, amin pillanatnyilag egyszerűen nincs időm mind végigrágni magam, viszont érdekelne a válasz a kérdésre, ezért köszönettel venném, ha valaki hozzáértő röviden és tömören el tudná magyarázni.
Amit nem értek, az lényegében az, hogy miért nem visszafejthető egy hashből az eredeti akármi, amiből a hash ki lett számítva? Elvégre a hashnek nyilván van egy előállítási módja/képlete/algoritmusa/akármije (bár érdekes módon ilyet pont nem találtam sehol), amiben random tényező nyilván nem szerepelhet, ha egyszer azonos bemenő adat minden esetben azonos kimenő hasht eredményez.
De ha van rendszere a dolognak, akkor mégis miért nem lehet megfordítani a dolgokat, és a hasből visszafejteni a bemenő adatot?





Itt egy példa, egy egyszerű hash, amit nem tudsz visszafejteni:
x mod 5.
Az x tetszőleges egész számot, a mod pedig maradékos osztást jelenti.
Tehát ennek a műveletnek a végeredménye [0,4], tehát 0, 1, 2, 3, 4. Végtelen sok olyan szám van, aminek az 5-tel való osztási maradéka pl. 3. Tehát ha azt mondom, hogy gondoltam egy számra, aminek a hash-e (a fenti szerint) 4, akkor sose fogod tudni kitalálni, hogy mi ez a szám, mert végtelen sok ilyen van. Kb. ezen az elven működik a többi hash (MD5, SHA-akármi, stb), csak sokkal bonyolultabb algoritmus alapján.





Mert direkt így van kitalálva.
Tessék, az MD5 algoritmusa Javascriptben: [link]





Ja, és azt még hozzátenném, hogy ha egy 3 Gb-os fájlból csinálsz egy 256 bites hash-t, akkor adatvesztés is lép fel (minta ahogy egy DVD-t sem tudsz rátenni egy floppyra). Javaslom még a wiki szócikkét is:
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!