Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] MD5 bezpieczne kodowanie znaków?
Forum PHP.pl > Forum > Przedszkole
piotrek_dz
Witam!

Ściągnąłem ostatnio skrypt logowania się na stronę (dane zapisywane w bazie MySQL) i zdziwiłem się gdy przeglądając bazę po rejestracji zamiast hasła był 32-znakowy ciąg. Z początku nie wiedziałem o co chodzi ale po obejrzeniu kodu odkryłem że hasło jest zakodowane w MD5. Trochę poczytałem o MD5 bo pierwszy raz się z tym zetknąłem i dowiedziałem się że rozkodowanie jest praktycznie niemożliwe oraz przeczytałem na wikipedii że MD5 nie powinno się już stosować.

Pytania:

- Co stosować do zakodowania danych zamiast MD5 w PHP i MySQL?

- Dlaczego nie powinno sie go stosować?

- Czy odzyskam hasło w jakiś sposób zaglądając do bazy danych (czy to naprawdę nie idzie rozkodować?)?

Pozdrawiam!
Fafu
Rozkodować można metodą brute force.
Poczytaj o tęczowych tablicach. Zabezpieczysz się przed nimi saltem (md5(sha1(md5('asd'.$haslo.'aha')))winksmiley.jpg
piotrek_dz
Dzięki!

Poczytałem troche o tym. A więc tak:

- MD5 złamie za pomocą tęczowych tablic

- Jeśli zastosuje sole to moje hasło jest praktycznie niemożliwe do złamania



Tak? Dobrze wnioskuje?
blooregard
Dobrą metodą jest ta, podana przez @Fafu, a więc haszowanie kilkukrotne, najlepiej kilkoma algorytmami. Wtedy robisz taki hasz, że nawet marsjańske tablice nie pomogą. A sam MD5 jest niebezpieczny, bo bardzo dużo najpopularniejszych haseł znajdziesz w necie, wklejając ciąg MD5 np. w google. Dla hasza md5('admin') jest ok. 12.000 wyników smile.gif
piotrek_dz
Dzięki!

Temat do zamknięcia wiem już wszystko biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.