Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [problem]md5
jarmiar
post
Post #1





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

Ostrzeżenie: (0%)
-----


witajcie

mam problem

chcę sobie zrobić koder/dekoder md5.

zrobiłem już koder, ale z dekoderem mam problem.

o to listing z pliku index.php

  1.  
  2. <meta http-equiv="Content-Language" content="pl">
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  4. <title>Koder/Dekoder</title>
  5. </head>
  6.  
  7.  
  8. <p><br>
  9. <br>
  10. <br>
  11. &nbsp;</p>
  12. <div align="center">
  13. <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
  14. <tr>
  15. <td width="100%">
  16. <p align="center"><img border="0" src="logo.jpg" width="350" height="180"></td>
  17. </tr>
  18. </table>
  19. </center>
  20. </div>
  21. <p><br>
  22. &nbsp;</p>
  23. <div align="center">
  24. <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="74%">
  25. <tr>
  26. <td width="100%">
  27. <form method="POST" action="kodowane.php">
  28. <p align="center"><input type="text" name="slowo" size="54"><input type="submit" value="Koduj" name="B1"><input type="reset" value="Resetuj" name="B2"></p>
  29. </form>
  30. <p align="center">[<a href="?g=info">do czego mi się to przyda?]</a>&nbsp;&nbsp;&nbsp;
  31. <a href="?g=linki">[linki]</a>&nbsp;&nbsp;&nbsp;&nbsp;
  32. <a href="?g=kontakt">[kontakt]</a>&nbsp;&nbsp;&nbsp;&nbsp;
  33. <a href="?g=reklama">[reklama]</a></td>
  34. </tr>
  35. </table>
  36. </center>
  37. </div>
  38.  
  39. </body>
  40.  
  41. </html>


a to plik kodowane.php (obsługujący formularz)

  1.  
  2. <meta http-equiv="Content-Language" content="pl">
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  4. <title>Nowa strona 1</title>
  5. </head>
  6.  
  7.  
  8. <div align="center">
  9. <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
  10. <tr>
  11. <td width="100%">
  12. <p align="center">
  13. <img border="0" src="logo.jpg" align="left" width="183" height="96"></td>
  14. </tr>
  15. </table>
  16. </center>
  17. </div>
  18. <div align="left">
  19. <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="46%">
  20. <tr>
  21. <td width="100%">
  22. <form method="POST" action="kodowane.php">
  23. <p align="left"><input type="text" name="slowo" size="54"><input type="submit" value="Koduj" name="B1"><input type="reset" value="Resetuj" name="B2"></p>
  24. </form>
  25. </td>
  26. </tr>
  27. </table>
  28. </div>
  29. <hr>
  30. <p align="left"><i>
  31. <?php
  32. $slowo = $_POST[slowo];
  33. $zakodowane = md5($slowo);
  34. ?>
  35. <br>
  36. Wynik dla:</i>&nbsp;<b><? echo($slowo); ?></b> <br>
  37. <br>
  38. <b><font color="#000080">Twoje słowo to:</font></b><br>
  39. <br>
  40. &nbsp;
  41. <?php
  42. echo($zakodowane);
  43. ?>
  44. </p>
  45.  
  46. </body>
  47.  
  48. </html>


teraz proszę Was o pomoc. Jak mam zrobic dekoder o co chodzi?
pomożcie!


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
MStaniszczak
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 3.10.2004

Ostrzeżenie: (0%)
-----


Md5 nie jest funkcją szyfrującą a haszującą (w związku z czym wynik jej działania jest jednokierunkowy). Tego co zostało przez nią przepuszczone nie da się odzyskać.

Ten post edytował MStaniszczak 20.11.2006, 20:01:53
Go to the top of the page
+Quote Post
jarmiar
post
Post #3





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

Ostrzeżenie: (0%)
-----


Cytat(MStaniszczak @ 20.11.2006, 19:59:53 ) *
Md5 nie jest funkcją szyfrującą a haszującą (w związku z czym wynik jej działania jest jednokierunkowy). Tego co zostało przez nią przepuszczone nie da się odzyskać.


no ale były takie dekodery onlie wpisywało sie ciąg znaków zakodowanych w md5, a potem on odgadywał cały wyraz.
to może mi powiesz jak to można wykonać?


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
MStaniszczak
post
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 3.10.2004

Ostrzeżenie: (0%)
-----


Brute force? Ale uwaga –po "zdekodowaniu" ciągu md5 może się okazać że jest to ZUPEŁNIE inny wyraz ni ten który był kodowany (i jest to bardzo prawdopodobne)...
Ale może to Ci się przyda:
http://md5.rednoize.com/ ;-)
Go to the top of the page
+Quote Post
jarmiar
post
Post #5





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

Ostrzeżenie: (0%)
-----


Cytat(MStaniszczak @ 20.11.2006, 20:22:28 ) *
Brute force? Ale uwaga –po "zdekodowaniu" ciągu md5 może się okazać że jest to ZUPEŁNIE inny wyraz ni ten który był kodowany (i jest to bardzo prawdopodobne)...
Ale może to Ci się przyda:
http://md5.rednoize.com/ ;-)


no ale jak to zrobić w php?


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
MStaniszczak
post
Post #6





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 3.10.2004

Ostrzeżenie: (0%)
-----


Poczytaj o tym czym jest metoda brute force (google sporo Ci na ten temat powie) to się sam zorientujesz i sam dojdziesz do wniosku że to bez sensu i zbyt kosztowne (czasowo).
Go to the top of the page
+Quote Post
siemakuba
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

Ostrzeżenie: (0%)
-----


Cytat(jarmiar @ 20.11.2006, 20:04:58 ) *
no ale były takie dekodery onlie wpisywało sie ciąg znaków zakodowanych w md5, a potem on odgadywał cały
Prawie masz rację. Prawie, bo nic tu nie było odgadywane. Takie systemy mają potężną bazę ciągów md5 i odpowiadających im ciągów znaków.

Krążył na tu na forum temat dotyczący md5 i pokrewnych - poszukaj, tam wszystko napisane zostało.
Aha, no i zapomnij o odkodowywaniu ciągu zahaszowanego md5 ;> Piszesz to w ramach zabawo-testo-doświadczeń czy jest to do czegoś konkretnego potrzebne? Jeżeli ta druga opcja, powiedz co potrzebujesz, z pewnością znajdzie się na to inny sposób ;>

pozdr.
Go to the top of the page
+Quote Post
php programmer
post
Post #8





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


Myślę, że chodzi ci o inny rodzaj funkcji,
mianowicie szyfrowanie dwukierunkowe (symetryczne)

google -> DES
google -> FEAL
Go to the top of the page
+Quote Post
jarmiar
post
Post #9





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

Ostrzeżenie: (0%)
-----


Cytat(siemakuba @ 21.11.2006, 12:12:30 ) *
Prawie masz rację. Prawie, bo nic tu nie było odgadywane. Takie systemy mają potężną bazę ciągów md5 i odpowiadających im ciągów znaków.

Krążył na tu na forum temat dotyczący md5 i pokrewnych - poszukaj, tam wszystko napisane zostało.
Aha, no i zapomnij o odkodowywaniu ciągu zahaszowanego md5 ;> Piszesz to w ramach zabawo-testo-doświadczeń czy jest to do czegoś konkretnego potrzebne? Jeżeli ta druga opcja, powiedz co potrzebujesz, z pewnością znajdzie się na to inny sposób ;>

pozdr.


mam hasło zakodowane w md5 i muszę je odkoować, a przy okazji chcę zrobić sobie taki koder/dekoder online dzięki czemu każdy będzie mógł sobie odkodować lub zakodować md5.
jeśli możesz napisz mi jak to zrobić


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
hwao
post
Post #10


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Robisz tak, wybierasz znaki i łączysz je na wszystkie możliwe sposoby. Wynik dajesz do md5 i zapisujesz w bazie danych string => hash. Potem jak ktoś wpisuje hash to szukasz czy masz w bazie danych taki, jak nie to klapa. Po prostu musisz mieć ich sporo.

Druga możliwość to robienie tego bez bazy danych, i szukanie string'u który daje taki hash
Go to the top of the page
+Quote Post
php programmer
post
Post #11





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


a właściwie to po co chcesz odkodowywać md5 ?



Cytat
Robisz tak, wybierasz znaki i łączysz je na wszystkie możliwe sposoby. Wynik dajesz do md5 i zapisujesz w bazie

Cytat
Druga możliwość to robienie tego bez bazy danych, i szukanie string'u który daje taki hash


Złożonośc obliczeniowa tego = milion lat

Ten post edytował php programmer 21.11.2006, 12:31:38
Go to the top of the page
+Quote Post
hwao
post
Post #12


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




MD5 nie da się rozkodować! MD5 jest HASHEM czyli klucz jest stracony!

Wiec nie da się DEKODOWAC i KODOWAĆ - gdyż md5 HASHUJE!.

http://pl.wikipedia.org/wiki/Funkcja_haszuj%C4%85ca

Gdyby się tak dało, i nie było by kolizji to wszystkie dane dało by się "zapisać" w ciągu składającym się z 32 znaków, teoretycznie gra mogła by zamiast 4gb zajmować parę bajtów.
Go to the top of the page
+Quote Post
jarmiar
post
Post #13





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

Ostrzeżenie: (0%)
-----


powód napisałem wyżej

jak mówisz że się nie da to jak z bazy danych pobierana jest wartość zhaszowanego hasła a potem porównywana do ciągu string?


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
hwao
post
Post #14


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Baza 5 znakowa może Ci już zajmować parę GB.

Pisałem jak, robisz skrypt który takie coś tworzy:
Kod
a
...
z
aa
ab
ac
ad
...
zz
aaa
....

I tak wszystkie znaki, generalnie i tak się wybiera te najpopularniejsze [a-Z0-9] + podstawowe dostępne na klawiaturze.

I cały proces wygląda tak, jak już masz listę tych wszystkich wariacji to wrzucasz ciąg
md5( 'a' );
i wynik tego zapisujesz do bazy
a => "jakiś tam ciąg po md5()"
I tak robisz z każdym jakim masz.

Potem jak użytkownik wrzuca jakiś string, to szukasz w bazie danych PO HASH'U, i w ten sposób masz co tego hash'a tworzy.
Go to the top of the page
+Quote Post
php programmer
post
Post #15





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


Cytat
jak mówisz że się nie da
to jak z bazy danych pobierana jest wartość zhaszowanego hasła
a potem porównywana do ciągu string?

hasło w bazie nigdy nie jest odkodowywane
dzięki temu nawet ktoś kto zajrzy do bazy nie wie jakie masz hasło

w bazie jest zapisany hash dla danego stringa,
jak ktoś kto sie loguje podaje napis, to ten napis jest haszowany
a to co wyjdzie jest porównywane z haszem zapisanymw bazie

Ten post edytował php programmer 21.11.2006, 12:44:54
Go to the top of the page
+Quote Post
jarmiar
post
Post #16





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

Ostrzeżenie: (0%)
-----


no już teraz wiem.
zobaczcie na to co udało mii się zrobić:

http://webmaster.xk.pl/md5/

pozdro


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post
kszychu
post
Post #17





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


A co tam jest do oglądania? Wynik działania jednej funkcji?


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #18





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




@jarmiar - a po co to komu? Bez obrazy, ale użyteczność... żadna : |
Jeszcze ten wieeeelki plik z napisem MD5 - mógłby ważyć 10-15 razy mniej...

Pozdrawiam.

Ten post edytował Cysiaczek 21.11.2006, 13:38:43


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
php programmer
post
Post #19





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


No i wogóle nie wiem dlaczego nazwałes to "dekoder"

przecież nieczego tu nie dekodujesz,

Ten post edytował php programmer 21.11.2006, 13:47:35
Go to the top of the page
+Quote Post
jarmiar
post
Post #20





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

Ostrzeżenie: (0%)
-----


taki odruch.


--------------------
Jeśli my czegoś nie zrobimy, zrobią to za nas inni
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 00:40