ugrás a tartalomhoz

Md5()-tel konvertált adatot hogyan lehet visszakonvertálni?

Anonymous · 2006. Dec. 9. (Szo), 16.42
Szeretném megtudni, hogy az md5() string konvertáló paranccsal ha átalakítottam egy felhasználó egyik adatát, és bevittem egy mysql táblába, milyen módon lehet visszakonvertálni az eredeti formátumába, ahogy a felhasználó eredetileg azt bevitte? Igaz, hogy megoldhatnám konvertálás nélkül, de egy kicsit biztonságosabbá akarom tenni az adatkezelést.

A választ előre is köszönöm
 
1

nem lehet

Hojtsy Gábor · 2006. Dec. 9. (Szo), 16.56
Az md5 nem az adatot alakítja át, hanem az adat alapján állít elő egy számot. Ez a szám ugyanolyan nagyságrendű lesz akkor is, ha három karakterre számolod az md5() értéket, vagy ha több gigabájtra. Több gigabájtot pedig egy "kis számmá alakítani" ugye nem lehet úgy, hogy a gigabájtok visszaállíthatóak legyenek.
12

tomorites

ErdosJ · 2007. Nov. 11. (V), 18.12
en nem tudom, de errol valamiert a prog.hu-n olvashato ket bajtra tomorito program jutott eszembe :)
2

nem jó eszköz/ nem jó cél

Anonymous · 2006. Dec. 9. (Szo), 18.14
Nem az a lényeg, hogy lehet-e vagy nem, hanem az, hogy nem arra való amit írsz. Az MD5 nem konvertál vagy kódol, ebből a szempontból adatvesztés történhet. Az MD5 ujjlenyomatot gyárt. Ha az adatod kevesebb, mint egy MD5 kód adattartalma, akkor lehetséges az adat visszanyerése. Ha több, akkor nem(igazán).
De a lényeg, hogy nem így kell használni: ha a felhasználó bevisz egy adatot, és azt nem tárolod el, csak az MD5-jét, akkor ne várd el, hogy azt az adatot visszakapd. Azt viszont elvárhatod, hogy leközelebb ugyanannak az adatnak ugyanaz lesz az MD5-je, és más adatnak pedig más lesz az MD5-je. Vagyis csak azt tudod ellenőrizni, hogy másodjára is ugyanazt az adatot vitték-e be, mint aminak az MD5-jét elraktad valamikor (pl jelszókezelés) (de jelszókezelés-"tárolás"ra az MD5 magában nem javasolt, csak esetleg "sózva")
Ha titkosítani akarsz adatokat, akkor használj titkosító algoritmnust (pl. crypt), ne hasht.
3

Hozzászólás témája:*

teki · 2006. Dec. 10. (V), 13.53
A kerdes elgondolkodtato. The future is here.
4

jelszó újraküldése?

ukrán · 2006. Dec. 13. (Sze), 23.05
Gyanítom, hogy jelszóújraküldést akarsz gyártani. Erről van szó, ugye?

Nos az md5() egyik legfőbb erénye éppen az, hogy nem lehet visszalakítani. Viszont ezt a jelszót nem is lehet újraküldeni, ha a felhasználó elfelejtette.

Azt csinálhatod ilyenkor, hogy a felhasználó hitelesített címére küldesz egy emailt, amelyre kattintva a feledékeny felhasználó új jelszót adhat meg magának az elfelejtett régi helyett.

Ha erre gondoltál, remélem hogy hasznát veszed a tippnek.
5

lehetséges, csak nem érdemes

amonrpg · 2006. Dec. 14. (Cs), 10.46
Ún. kipörgetéssel elvileg lehetséges az eredeti karakterlánccal megegyező Hash-ű karakterlánc megtalálása, csak éppen ez idő- és gépigényes művelet. Szépen sorban elkezdesz stringeket gyártani, aztán megnézed az md5 hashét, hogy egyezik-e a tárolttal, ha igen, akkor megvan a keresett adat, ha nincs, veszed a következő stringet.
Ha kipróbálod, 20 év múlva szólj, hogy megtaláltad-e? :p

Amúgy az md5 hash-et csinál, ami nem visszaalakítható. Viszont cserébe stabilan 32byte hosszú adatot kapsz. Nagyon kis eséllyel viszont két különböző stringnek ugyanaz lehet a hash-e. Ennek ellenére jelszókezelésre ideális, mégpedig a visszaalakíthatóság hiánya, a kis processzor-igénye, és a relatív biztonságossága miatt.

Viszont, sosem szabad elfelejteni a felhasználók felvilágosítását, pláne, amióta megjelentek az md5 hash -reverse oldalak (ITT és ITT)! Ez azt jelenti, hogy az egyszerűbb szavak, alfanumerikus összetételek nagy valószínűséggel megtalálhatók az adatbázisukban, így könnyedén vissza tud fejteni egy-egy jelszót az, akinek a hash a birtokába kerül.
6

Biztonságosabb jelszó tárolás

Max Logan · 2006. Dec. 14. (Cs), 11.22
Viszont, sosem szabad elfelejteni a felhasználók felvilágosítását, pláne, amióta megjelentek az md5 hash -reverse oldalak (ITT és ITT)! Ez azt jelenti, hogy az egyszerűbb szavak, alfanumerikus összetételek nagy valószínűséggel megtalálhatók az adatbázisukban, így könnyedén vissza tud fejteni egy-egy jelszót az, akinek a hash a birtokába kerül.

Itt egy cikk a sózásról.
7

azért erős túlzás a visszafejtés :))

virág · 2006. Dec. 14. (Cs), 18.11
:)) Visszafejti. Jah a 4-5 betűs szavakat keres ki egy adatbázisból :)) A "laci" és a "jani" szó MD5 hash-ét visszaadta, de pl. a "lacimacit", "jani jani"-t egyik sem. stb. Szóval itt is az a probléma mint minden kódolásnál, ha az user vagy mi ilyen nagyon egyszerű jelszavakat használunk, akkor sebezhetőbbek leszünk.
8

igen...

amonrpg · 2006. Dec. 15. (P), 10.10
Erre próbáltam utalni. :) Persze, nem valódi visszafejtésről van szó. Természetesen. Azonban semmi sem gátolja meg az md5 reverse-szolgáltatások esetleges terjedését, sőt, akár magyar nyelvre felkészített kivitelét.

Persze valójában (hashről lévén szó), nem szükséges a magyar nyelvűség, csupán megfelelő számú string-hash kombináció, hogy a duplikátumokkal majd' minden kombináció lefedhető legyen.

Bár ugye a sorok magas száma miatt ez inkább infrastruktúrális akadályokba ütközik.
9

Visszafejtésről

Kenguru · 2006. Dec. 15. (P), 22.03
Egy kis php progival 10-12 karakteres szavakat pörgettünk vissza erő alpján. Az eredmény az volt hogy 15 perc alatt meg volt a keresett szó...
10

Részletek?

attlad · 2006. Dec. 16. (Szo), 04.27
Itt szótárban szereplő kisbetűs szavakról írsz? Vagy normális jelszóról, azaz kis- és nagybetű, szám és speciális karakterek véletlenszerű kombinációjáról? 15 perc alatt mennyi variáció lett megvizsgálva? Ezek ismerete nélkül semmi értelme a fenti számoknak.
11

pass

Qkac · 2007. Nov. 11. (V), 17.17
Nekem az egyik fenti oldal nem találta meg annak a szónak a reversét h. 'pass' hát sok sikert crackerek :))