Kezdőoldal » Számítástechnika » Internet » Neten azt olvasom, hogy az...

Neten azt olvasom, hogy az MD5 karakterkódolás csak egy irányú. De akkor hogyan működnek az online dekódolók illetve birok-e csinálni én Php-ban egy ilyen függvényt?

Figyelt kérdés

[link]

Az ilyen és ehhez hasonló oldalakra gondolok.


Példa hash: d4f7244fb96d61178079a60400da9511

Fenti linken már meg is kaptam, hogy az eredeti string "capaci".


md5($myString). Ilyen egyszerű odafele.


Arra lennék kíváncsi van e valami megoldás Php-ban arra, hogy egy MD5 karakterkódolt stringnek megkapjam mi volt az eredeti kódolás előtti szövege.


md5_reverse($hashedString) - valami ilyesmi. Persze konkrétan ez tudom, hogy nem létezik.


Tudom, hogy mondjuk egy bejelentkezésnél a felhasználó által begépelt stringet kódolják, majd ezt összehasonlítják az adatbázisban lévő, már kódolt stringel. ÉS ha passzol akkor bejelentkeztet az oldalra.



2021. jan. 17. 22:38
1 2
 1/12 anonim ***** válasza:
Checksum. Azaz ellenőrző kód. Hiba jelzésre, vagy jelszó tárolásra is használható - persze cypherrel.
2021. jan. 17. 23:07
Hasznos számodra ez a válasz?
 2/12 anonim ***** válasza:

Amit én generáltam arra nem talál eredményt

49f91f0582791de9d7e5515168b33443

Azaz csak szótárazik visszafelé?


MD5 helyett inkább SHA2-t használj. Lehetőleg SHA-384 et.

2021. jan. 17. 23:40
Hasznos számodra ez a válasz?
 3/12 anonim ***** válasza:
Miért jobb a hatalmas checksum, amikor egy kissebb check is évszázadok alatt fejthető csak vissza?
2021. jan. 18. 00:31
Hasznos számodra ez a válasz?
 4/12 A kérdező kommentje:

Erről a checksum ról még nem hallottam.


Visszatérve. Php-ban meg lehet oldani a visszafejtést?

2021. jan. 18. 00:38
 5/12 anonim ***** válasza:
Évekig futna és szótárazni kéne. De ha időkulcsos cypher is van, sosem fogod tudni visszafejteni.
2021. jan. 18. 00:41
Hasznos számodra ez a válasz?
 6/12 A kérdező kommentje:
Értem. Már csak az nem világos, hogy akkor az online decoderek vagy decrypterek hogyan csinálják meg.
2021. jan. 18. 00:47
 7/12 anonim ***** válasza:

#3

Már a sha-256 és sha-512 re is találtak elvi törési lehetőséget. Lásd táblázat:

[link]

Egyedül a sha-384 tartja magát (úgy ahogy). Az sha3 at pedig nem támogatja semelyik windows. (de a sha-384 támogatott win7 óta, és androidon is)

MD5 meg már könnyen átverhető, sőt az sha1 is csak nehezebben.

2021. jan. 18. 00:53
Hasznos számodra ez a válasz?
 8/12 anonim ***** válasza:
100%

Azért egyirányú, mert nem lehet biztosan megállapítani, hogy mi volt a bemenet. A kulcsszó a "biztosan". Mondok egy példát. (Nem, nem az MD5 kódolását használom, de talán érthető lesz.) Tegyük fel, hogy összeadok két számot. Az eredmény: 15. Menyik két számot adtam össze? Nem lehet egyértelműen megállapítani. De tegyük fel, hogy írok egy olyan PHP-szkriptet, ami "megpróbálja kitalálni". És azt adja válaszul, hogy bizony a 10-et és az 5-öt adtam össze. Igaza volt? Nem lehet biztosan tudni. Összeadhattam a 10-et és az 5-öt is, de akár a 8-at meg a 7-et is.

MD5-nél - meg az összes hasonló kódnál, ellenőrzőösszegnél - ez a helyzet. Ha úgy tetszik, azt is mondhatjuk, hogy ugyanazt a kimenetet több lehetséges bemenet is okozhatja. Nem meglepő, hiszen tetszőleges hosszúságú adatfolyamokból állít elő egy fix, 128 bit hosszúságú adatfolyamot.

De ez nem is arra való, hogy titkosíts vele valamit. Arra viszont tökéletes, hogy egy fájl sértetlenségét ellenőrizzük. Ez sem 100%-os megoldás, de a gyakorlatban az, hogy két fájlnak - kivéve, ha célirányosan manipulálták - ugyanaz legyen az MD5-összege, nullához közelít a valószínűsége.

2021. jan. 18. 01:31
Hasznos számodra ez a válasz?
 9/12 anonim ***** válasza:
Plusz, ha kis eltérés van a bemeneten, nagyon nagy eltérés lesz a kimeneten. :)
2021. jan. 18. 01:37
Hasznos számodra ez a válasz?
 10/12 anonim ***** válasza:

Szia!


A 7-es válaszoló már szépen leírta, hogy hogyan működik az MD5, viszont azt még nem nagyon, hogy az online visszafejtő oldalak hogyan működnek.


Nagyon egyszerű egyébként a megfejtés: fogták a teljes angol szótárat, mindegyik szóhoz meghatározták az MD5 hash értékét, és elmentették. Ha egy összetettebb magyar kifejezést választasz, pl "EztNemFogodKitalálni", ehhez az MD5 érték "b1049570481a3f95ed2e254c642c34f7". Na ezt már nem tudja visszafejteni az általad linkelt oldal se.


Ha jelszavak tárolására használnád az MD5-öt, akkor egyébként két technika van, ami az ilyen szótár alapú támadásokat kiküszöböli:

- az egyik az úgynevezett "sózás" (salting). Itt a jelszó mellé generálunk egy véletlenszerű karaktersorozatot, és hozzáfűzzük a jelszóhoz, és ebből számolunk MD5-öt. Ha pl egy felhasználó "AppleTree" jelszóval regisztrál, akkor generálunk hozzá egy olyan szöveget, hogy "sworigt465". Ekkor az MD5("AppleTree") érték helyett MD5("AppleTreesworigt465") - és ezt valószínűleg semmilyen szótár nem tartalmazza.


- a másik megoldás, hogy egyszerűen nem MD5-öt használsz, ma a PHP beépített password_hash függvényét érdemes használni, ez jelenleg a BCrypt nevű algoritmust használja a háttérben.

2021. jan. 18. 09:38
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!