![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Co mi daje szyfrowanie MD5 ? Jest jakaś funkcja do zaszyfrowania jakiegoś napisu ?
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Po pierwsze MD5 nie jest algorytmem szyfrującym, tylko mieszajacym.
Co do drugiego pytania zobacz -> base64 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 18 Dołączył: 30.06.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To nie jest szyfrowanie, tylko hashowanie (md5 często używane jest jako suma kontrolna pliku). Funkcja to md5(), a co daje? Hmmm często używa się aby zapisać w bazie danych wersje md5 hasła (zapewnia bezpieczeństwo haseł w razie przechwycenia bazy).
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 219 Pomógł: 16 Dołączył: 16.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Ok , dziękuje za odpowiedzi. Wszyscy dostali Pomógł. Czemu jak ten tekst zahashuje to takie coś mi się wyświetla: 090cf7206d54d8d9381124a362ef57b7 ?
A jest jakaś funkcja która rozkodowuje zahashowany tekst ? Ten post edytował kamil1114 8.01.2009, 17:29:59 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 219 Pomógł: 16 Dołączył: 16.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
md5 nie ale base64 tak funkcja base64_decode" title="Zobacz w manualu PHP" target="_manual
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
A jest jakaś funkcja która rozkodowuje zahashowany tekst ? Nie ma. Możesz jedynie zastosować metodę brute force czyli generować kolejne ciągi (np. a, b..., aa, ab...) i porównywać ich md5 z tym, który już masz. Nie uzyskasz jednak w ten sposób ciągu pierwotnego (chyba, że będziesz miał szczęście (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) a jedynie inny ciąg posiadający taki sam hash md5. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Czemu jak ten tekst zahashuje to takie coś mi się wyświetla: 090cf7206d54d8d9381124a362ef57b7 ? To mi coś daje ?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 219 Pomógł: 16 Dołączył: 16.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kodowanie md5 jest nieodwracalne przy pomocy tej funkcji możesz porównać dane wysłane ($_POST) z md5($haslo)
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czemu jak ten tekst zahashuje to takie coś mi się wyświetla: 090cf7206d54d8d9381124a362ef57b7 ? To mi coś daje ? Nie, nie daje Ci niczego, poza tym, że nie możesz tego odwrócić. Tzn. nie otrzymasz dzięki znajomości wyniku - ciągu wejściowego. Dzięki temu możesz zapisywać hasła w bazie danych 'zakodowane' funkcją md5. Jeśli ktoś przechwyci Twoją bazę to nie odczyta haseł, bo będzie znał jedynie hash'e. Tobie (np. podczas logowania) będzie potrzebna tylko informacja, czy md5($wpisane_haslo) = $md5_zapisane_w_bazie. Jeśli masz jeszcze jakieś pytania, to poczytaj w necie. Pełno jest artykułów na ten temat. Poczytaj też o kolizjach i sposobach 'łamania' md5. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Ok , dziękuje. A w takim przypadku jest sens wykorzystywać md5:
Kod <html> <head> </head> <body> <form method="POST"> Podaj login: </br> <input type="text" name="login"></br> Podaj haslo: </br> <input type="password" name="haslo"></br> <input type="submit" name="wyslane" value="Wyslij"></br> <input type="reset" value="Wyczysc"> </form> <?php $wyslane=$_POST['wyslane']; if(isset($wyslane)){ $login=$_POST['login']; $haslo=$_POST['haslo']; $id=md5("login"); $hash=md5("haslo"); if($login===$id && $haslo===$hash){ echo "zalogowane"; } else echo "Złe dane"; } else echo "Wypełnij pola"; ?> </body> </html> czy tylko przy bazach ? To mi nie działa. Ten post edytował kamil1114 8.01.2009, 18:14:46 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Jeżeli zakładasz możliwość przechwycenia danych w drodze do serwera, to takie rozwiązanie może zabezpieczyć dane (login i hasło) przed ich uzyskaniem. Przy czym nie zabezpieczy, Cie przed zalogowaniem osoby, która je przechwyciła.
Ja nie widze większego sensu stosowania takiego rozwiazania. Ten post edytował flashdev 8.01.2009, 18:18:35 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Ok , dziękuje wszystkim za pomoc
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 274 Pomógł: 54 Dołączył: 2.05.2006 Skąd: Nadarzyn Ostrzeżenie: (0%) ![]() ![]() |
w twoim skrypcie musisz jeszcze zamienic
Kod $login=$_POST['login'];
$haslo=$_POST['haslo']; na $login=md5($_POST['login']); $haslo=md5($_POST['haslo']); |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Ja jeszcze dodam: md5 jest niczym, gdy hasło jest po prostu słabe. Jak określa się siłę hasła? ilość znaków, stosowanie dużych i małych liter, stosowanie cyfr, nie używanie wyrazów słownikowych i inne mniej ważne - są bazy danych, w których zapisane są wyrazy słownikowe w md5 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Pozdrawiam |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ja jeszcze dodam: md5 jest niczym, gdy hasło jest po prostu słabe. Oczywiście wiesz, że nawet jak Twoje hasło ma 100 znaków, to jest spore prawdopodobieństwo kolizji krótszego hasła. Tzn. hasło 4-znakowe może mieć taki sam hash jak Twoje 100-znakowe i nijak tego nie sprawdzisz, bo porównujesz tylko wyniki działania funkcji md5(). A więc Twoje rozumowanie nie do końca jest słuszne. Chociaż oczywiście nie polecam nikomu ustawiania 4-znakowych haseł (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Oczywiście wiesz, że nawet jak Twoje hasło ma 100 znaków, to jest spore prawdopodobieństwo kolizji krótszego hasła. Tzn. hasło 4-znakowe może mieć taki sam hash jak Twoje 100-znakowe i nijak tego nie sprawdzisz, bo porównujesz tylko wyniki działania funkcji md5(). 36^32 = 63340286662973277706162286946811886609896461828096 Bądźmy realistami, prawdopodobieństwo, że ktoś przypadkowo trafi na to hasło jest mniejsze niz wygranie w totolotka kilka razy pod rząd. Nawet jeśli masz superkomputer i bruteforcem przeliczysz choćby nawet 10^20 (w co wątpię) kombinacji to i tak pozostaje kosmiczna ilość. Pewnie to się zmieni, kiedy powstaną komputery kwantowe, ale to juz inna bajka (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
36^32 = 63340286662973277706162286946811886609896461828096 Pudło (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Skrót składa się z wartości hexadecymalnych, więc nie 32^32, a 16^32. To daje różnicę 29 rzędów wartości (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ale co do prawdopodobieństwa to oczywiście masz rację. Jednak wykluczyć się tego nie da, dlatego bezpieczniej stosować sha1() (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował sowiq 9.01.2009, 02:25:12 |
|
|
![]()
Post
#19
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Jedno i drugie można złamać. Serwisów do odwracania haseł jest mnóstwo, poza tym - ophcrack (na tęczowych tablicach) i jeśli nie wprowadzi limitu błędnych logowań, to prędzej czy później ktoś się wbije na konto.
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.09.2025 - 14:25 |