Temat: Opcja przypomnij hasło

Jak przypomnieć hasło z bazy mysql ? Hasło można przypasować np. po email użytkownika, ale jest kodowane md5. Czy da się jakoś je przypomnieć? W jaki sposób to robią serwisy?

konto usunięte

Temat: Opcja przypomnij hasło

Generują nowe hasło i ślą je na maila. Czasami dodatkowo/albo jest link do kliknięcia, który potwierdza tą operację.

konto usunięte

Temat: Opcja przypomnij hasło

Można również trzymać w bazie danych hasło, takie jakie zostało wprowadzone podczas rejestracji.Krzysztof Gendig edytował(a) ten post dnia 08.06.08 o godzinie 21:01

konto usunięte

Temat: Opcja przypomnij hasło

Krzysztof Gendig:
Można również trzymać w bazie danych hasło, takie jakie zostało wprowadzone podczas rejestracji.Krzysztof Gendig edytował(a) ten post dnia 08.06.08 o godzinie 21:01

W sam raz by zły hacker po włamaniu się do bazy mógł sobie to hasło wyświetlić?
I wykorzystać fakt że większość ludzi ma to samo hasło do X usług?

konto usunięte

Temat: Opcja przypomnij hasło

Krzysztof Gendig:
Można również trzymać w bazie danych hasło, takie jakie zostało wprowadzone podczas rejestracji.

Od razu zakończyłbym korzystanie z takiego serwisu ... toż to amatorszczyzna na maksa.

konto usunięte

Temat: Opcja przypomnij hasło

Ja trzymam sha1(md5('hasło')) w bazie danych, a podczas wykorzystania opcji przypominania hasla generuje nowe i generuje link aktywacyjny wysylany na maila, gdzie po potwierdzeniu (trzeba zabezpieczyc tez link jakims sprawdzaniem, zeby byle kto nie mogl byle kogo hasla zmienic) zmienia sie to w bazie (rowniez na np. sha1(md5()) ).
Grzegorz M.

Grzegorz M. www.avatec.pl

Temat: Opcja przypomnij hasło

Moim zdaniem samo md5 wystarczy, a jak masz formularz do przypomnienia hasła, klient podaje e-mail, to sprawdzasz czy jest- jeżeli jest ślesz maila z wygenerowanym nowym hasłem dla tego konta.

Jeżeli jednak chcesz dbać o swoich internautów, proponuje wymyśleć swój "prosty algorytm" :P i zamieszać to razem z md5 :-) np. md5(email+haslo) - z tym, że troche sobie utrudnisz życie wtedy. Z tego co wiem, ale mogę się mylić, sha1 złamać to można na jakiejś tam stronie w necie (testowałem i działa), z md5 jest większy problem :-)
Stanisław P.

Stanisław P. Software designer

Temat: Opcja przypomnij hasło

Grzegorz Miśkiewicz:
Moim zdaniem samo md5 wystarczy
No tak... nie rozumiem tego pomysłu z sha1(md5(...)) - przecież wtedy będzie możliwych hashy tyle samo, albo mniej niż generuje gorszy z tych algorytmów. Nie ma po co kombinować w ten sposób - lepiej używać salt'a dla userów.
Z tego co wiem, ale mogę się mylić, sha1 złamać to można na jakiejś tam stronie w necie (testowałem i działa), z md5 jest większy problem :-)
Nie do końca tak jest. Znajdywanie kolizji sha1, to dalej nie zadanie dla domowych komputerów. Raczej na żadnej stronie tego nie znajdziesz. A md5? Jest http://md5oogle.com ale to też opiera się tylko na dużej bazie danych. Dobrego hasła, ani losowego stringa tam nie odhashujesz. Jak się ktoś boi już o sha-1, to może sha-256 używać.
Dariusz Siedlecki

Dariusz Siedlecki Rockstar Frontend
Developer

Temat: Opcja przypomnij hasło

SHA-1 też jest - http://md5.rednoize.com/

sha1(md5()) na pewno jest lepszym pomysłem, niż samo md5()/sha1(). A co do saltów, to też może być chybiony pomysł, przynajmniej w wypadku krótkich stringów.

Bo załóżmy, że hacker będzie miał bazę z hasłami. Wrzuci 100 haseł do wyszukiwarki i na trzy dostanie odpowiedź:

111vjkfy349ko
mamavjkfy349ko
darek1vjkfy349ko

Zgadnijmy jaki tu jest salt...

Jasne, że to nie załatwia całej sprawy. Ale już ma o wiele prościej. Teraz wystarczy, że sam wygeneruje hashe dla stringów składających się z pięciu znaków + salt, i już ma 10-20% haseł.

Najprostsze i najbezpieczniejsze rozwiązanie to dla każdego będzie coś innego. Ja osobiście w tej chwili używam (czegoś w stylu, bo nie dokładnie takiego rozwiązania ;), md5(md5( $pass )), z czego pierwszy MD5 jest poprzemieszany z czasem rejestracji (np. co drugi znak kolejna cyfra). Dla niektórych to typowy overkill, który niczemu nie służy i rozumiem ich, ale nie mam po co zmieniać tego sposobu, skoro działa.

konto usunięte

Temat: Opcja przypomnij hasło

md5(pass):salt i to jest trzymane w bazie, przy czym salt jest inny przy kazdym hasle.

A 'przypomnij haslo' najczesciej dziala z tego co wiem tak jak juz to ktos opisal - jesli email i np. pytanie pomocnicze (zdefiniowane przy rejestracji) pasuje - generujesz nowe haslo, ale nie przepisujesz dotychczasowego tylko wysylasz majla z linkiem aktywujacym. Dopiero po aktywowaniu hasla nastepuje przepisanie hasla tymczasowego na normalne, a link przeslany emailem przestaje byc aktywny.

Warto tez w formularzu 'przypomnij haslo' nei roznicowac odpowiedzi skryptu w zaleznosci od tego czy jest w bazie email czy nie, by nie dawac komukolwiek mozliwosci sprawdzenia czy dany email jest zarejestrowany czy nie.

konto usunięte

Temat: Opcja przypomnij hasło

Stanisław Pitucha:

Nie do końca tak jest. Znajdywanie kolizji sha1, to dalej nie zadanie dla domowych komputerów. Raczej na żadnej stronie tego nie znajdziesz. A md5? Jest http://md5oogle.com ale to też opiera się tylko na dużej bazie danych. Dobrego hasła, ani losowego stringa tam nie odhashujesz. Jak się ktoś boi już o sha-1, to może sha-256 używać.

Są całe słowniki, tylko trzeba znać kogoś kto nam w maszynce sprawdzi ;)
Stanisław P.

Stanisław P. Software designer

Temat: Opcja przypomnij hasło

Michał Wujas:

Są całe słowniki, tylko trzeba znać kogoś kto nam w maszynce sprawdzi ;)

Są i rainbow tables... ale to tak jak ze słownikami -> jak masz hasło ~10 znaków losowych, to jesteś bezpieczny (jeśli chodzi tylko o ten atak oczywiście).
Dariusz Siedlecki:
sha1(md5()) na pewno jest lepszym pomysłem, niż samo md5()/sha1(). A co do saltów, to też może być chybiony pomysł, przynajmniej w wypadku krótkich stringów.
Nt. saltów, już dostałeś odpowiedź - pomysł jest sprawdzony i działający - po prostu o złej implementacji myślałeś.
A co do hash1(hash2(...)) - nie jest "na pewno" lepszym pomysłem. Po pierwsze - złożenia hashy nie są badane tak często jak same hash'e - więc po prostu zgadujesz, że to bezpieczniejsze. No, chyba, że potrafisz to udowodnić ;) Po drugie, sha1(md5()) daje Ci potencjalnie tyle samo możliwości co wartości md5(), lub mniej, bo niektóre hashe md5() mogą mieć kolizję po hashowaniu sha1(). Już lepiej w drugą stronę - md5(sha1()), bo obcinasz wynik 160b sha1 do 128b md5 - a nie odwrotnie.

Następna dyskusja:

pliki na hasło




Wyślij zaproszenie do