[PHP]Funckja odwrotna do MD5

0

Czy istnieje funkcja odwrotna do MD5, która z ciągu znaków zahaszowanego zrobi mi ciąg pierwotny (w moim przypadku hasło)?

0

nie

0

omg, md5 jest algorytmem hashującym. Więc jest on jednostronny.

0

Oczywiscie, ze jest mozliwosc.
Tu sa szczegoly, szkoda, ze projekt juz nie dziala -> http://passcracking.com/

0

Oczywiście, że jest :D Atakiem słownikowym albo brute-force. Miłego czekania, jakbyś próbował łamać przez BF :P

0

jak masz duzo czasu to mozesz próbowac brutal force czyli podstawiac wszystkie mozliwe kombinacje znaków - ale radze dać sobie ort!

0

Hash nie jest unikatowy. Z kilku roznych zrodel moze wyjsc taki sam hash.

Wiem co to MD5, chodzi mi o to, czy jest możliwość jego złamania...

rotfl :D

0
Wolverine napisał(a)

Hash nie jest unikatowy. Z kilku roznych zrodel moze wyjsc taki sam hash.

Ale prawdopodobieństwo dostania tego samego hashu jest tak znikome że prawie do pominięcia, aczkolwiek czytałem że komuś udało się dostać taki sam hash z 2 różnych słów.

Ostatnio liczyłem że hasło 10 znakowe (w tym jedna cyfra) metodą brute-force na jednym z komputerów było by łamane prze 980 lat ;) (Brałem pod uwagę średnią prędkość obliczeniową komputera - bardzo dobrego, nie jakiś tam CPU 1GHz)

MD5 to hash 128 bitowy. Zalecany jest hash SHA - 160 bitowy. Tutaj jest już bardzo dobre bezpieczeństwo. Oczywiście zakładając że ktoś nie podda hashowaniu hasła 2-znakowego ;)

0

Prawdopodobieństwo jest znikome???
Przecież to logiczne, że jeśli MD5 ma 128 bitów, to wystarczy ciąg 129 bitowy, aby na 100% minimum 2 różne ciągi o takiej długości dały ten sam wynik. Im dłuższy ciąg, tym więcej różnych dających takie same wyniki. Wcale nie jest to do pominięcia - 128 to mało jak na ciąg wejściowy.

0
prgtw napisał(a)

Ostatnio liczyłem że hasło 10 znakowe (w tym jedna cyfra) metodą brute-force na jednym z komputerów było by łamane prze 980 lat ;) (Brałem pod uwagę średnią prędkość obliczeniową komputera - bardzo dobrego, nie jakiś tam CPU 1GHz)

Za kilka(naście) lat do użytku wejdą komputery kwantowe i wtedy porozmawiamy o łamaniu (nawet brute-force).

0

teoretycznie co 2^128+1 ciąg daje taki sam hash ale w praktyce miałem na dysku dwa całkiem różne pliki z jednym hashem, jak usuwałem duplikaty

0

Tak. Ale przeciętny komputer domowy jest w stanie wygenerować dwa ciągi o tym samym skrócie w przeciągu kilku godzin. Mój Smok już coś takiego robił. Są nawet gotowe programy napisane w tym celu. Jednak całkiem inną sprawą jest spreparowanie ciągu znaków o danym hashu, a dwóch takich, by dawały ten sam hash. To pierwsze zadanie jest w dzisiejszych czasach niewykonalne w rozsądnym czasie.

0
Marooned napisał(a)

Prawdopodobieństwo jest znikome???
Przecież to logiczne, że jeśli MD5 ma 128 bitów, to wystarczy ciąg 129 bitowy, aby na 100% minimum 2 różne ciągi o takiej długości dały ten sam wynik. Im dłuższy ciąg, tym więcej różnych dających takie same wyniki. Wcale nie jest to do pominięcia - 128 to mało jak na ciąg wejściowy.

Logiczne. Wystarczy ciąg 129 bitowy żeby dać ten sam hash - zgadzam się. Ale prawdopodobieństwo utworzenia takiego hasha który dał by taki sam hash jak inny ciąg znaków jest jak jeden do 256(128/8) czyli 1/25616 czyli około:

2.94 * 10^-39 [!!!] (ok. trzech sekstyliardowych)
Jedna sektyliardowa to 1/(1 i 39 zer)

Prawdopodobieństwo dla SHA1 to 1 do 256(160/8) czyli 1/25620 czyli około:

6.84 * 10^-49

Czy to duże prawdopodobieństwa? :-/
Jeżeli tak to informuję że są hashe SHA224, SHA256, SHA384, SHA-512(SHA2) a nawet mocniejsze...

0

Inaczej zinterpretowaliście prawdopodobieństwo - Marooned mówi o prawdopodobieństwie wystąpienia (wtedy dla 129 bitów jest 1), a prgtw mówi o prawdopodobieństwie, że konkretny wylosowany ciąg 129-bitowy będzie miał ten sam hash, co jakiś inny dany.

0

Jesli chcesz uzyc md5 w skrypcie np. logowania to mozesz zrobic takie cos
przy rejestracji haslo(zmienione juz-md5) zapisuje do bazy albo pliku
przy logoowaniu haslo z bazy jako md5 porownuje z haslem wpisanym prez uzytkownika ale haslo wpisane przez uzytkownika musi zostac zmienione(chodzi mi o md5)
;)

0
www.pcinfo.hk.pl napisał(a)

... przy rejestracji haslo(zmienione juz-md5) zapisuje do bazy albo pliku ...

Takie postępowanie wyklucza potem opcję PRZYPOMNIENIE HASŁA, ponieważ hasła strona nie przechowuje a z hasha nie da się go odzyskać. Lepiej szyfrować hasło i zaszyfrowane przechowywać w bazie. To POZWALA na opcję przypomnienie hasła, ponieważ da się to hasło odszyfrować. Jednak nie jest to w porządku z użytkownikami, ponieważ administrator zna ich hasła, a wiadomo co wtedy może zrobić (zakładająć że danym hasłem dana osoba nie posługuje się tylko na tej stronie)

I tak źle i tak nie dobrze ;)

Ja osobiście na stronie używam hashowania hasła przez SHA1, ale jeżeli użytkownik go zapomni to już jego problem (Oczywiście może zagadać do admina podając inne dane związane z jego kontem co potwierdzi jego wiarygodność)

0

Napiszę tylko: BZDURA!
Oczywiście, możliwość przypomnienia hasła (w sensie otrzymania podanego hasła) jest niemożliwe, ALE można w każdej chwili wygenerować nowe hasło. Tak to działa na wszystkich normalnych serwisach. Klikając "Przypomnij hasło" nie dostajesz starego hasła (jak dostajesz, to podważa poważność serwisu) tylko otrzymujesz (najczęściej mailem) nowe, wylosowane hasło.

0
Adam.Pilorz napisał(a)

Napiszę tylko: BZDURA!
Oczywiście, możliwość przypomnienia hasła (w sensie otrzymania podanego hasła) jest niemożliwe, ALE można w każdej chwili wygenerować nowe hasło. ...

  1. Sam sobie tutaj przeczysz - z jednej strony bzdura a za chwilę "faktycznie nie można odzyskać". Czy ja pisałem o dostawaniu nowego hasła czy starego?

  2. Nie musisz mnie uświadamiać jak działają inne serwisy, bo wiem jak działają :P

  3. "Przypomnienie hasła" to jak sama nazwa wskazuje pokazanie użytkownikowi jakie miał hasło - a to używając MD5 jest niemożliwe - I TYLKO TO chciałem powiedzieć.
    Generowanie nowego hasła to już nie jest "Przypomnienie hasła" ;)
    Zamiast "Przypomnij hasło" powinno być wtedy "Wygeneruj nowe hasło" bo inaczej WTEDY wychodzi bzdura.

0

ale wszędzie jest napisane (:>) "przypomnij hasło" a polega oczywiście na jego zmianie lub ew. podanego tekstu przy rejestracji ułatwiającego faktycznie przypomnienie hasła samemu sobie, jakbyś napisał "wygeneruj nowe hasło" to większość osób tego nie kliknie jak zapomni bo głupio brzmi, nieintuicyjnie i w ogóle, chociaż tak by było może trochę poprawniej

na pewno bzdurą jest że jak user zapomni hasła to musi

zagadać do admina podając inne dane związane z jego kontem co potwierdzi jego wiarygodność

0
Adamo napisał(a)

na pewno bzdurą jest że jak user zapomni hasła to musi

zagadać do admina podając inne dane związane z jego kontem co potwierdzi jego wiarygodność

Zacytowałeś tylko to co Ci się "podobało" ;).

Nie zauważyłeś że przed moją wypowiedzią są słowa "Oczywiście MOŻE zagadać...". Nie znaczy to że (tak jak napisałeś) MUSI. Oczywiście takiej formy się nie stosuje bo to jest niepoważne - to użytkownik ma problem i nikogo to nie obchodzi, niech sobie założy drugie konto albo zapisze gdzieś hasło (Tylko nie pisać że zapisywanie haseł na kartkach papieru to głupota - bo wiadomo że tak nie powinno się robić)

BTW: A w tym temacie wystarczyła odpowiedź NIE i koniec tematu a tu taka debata :)

0
prgtw napisał(a)

BTW: A w tym temacie wystarczyła odpowiedź NIE i koniec tematu a tu taka debata :)

Racja hash - jaki jest każdy widzi, a jak ktoś twierdzi ze wie co to hash ale szuka funkcji odwrotnej to n/c [rotfl]

Ja dodam tylko od siebie ze mozna próbowac odkodowac hasha na strona takich jak http://gdataonline.com/seekhash.php ale to jest oczywiście tzw coś z zupełnie innej beczki ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1