Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]"Przypomnij hasło"
Raven1122
post 19.06.2012, 15:08:40
Post #1





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

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


Witam, mam takie pytanie:

Jeżeli hashuje wyraz w taki sposób:

  1. md5(sha1(haslo));


I daje uzytkownikowi mozliwosc przywrocenia hasla, jak podac mu haslo "odhashowane"??

Jezeli nie ma takiej mozliwosci to prosze o podanie jakiegos przykladu algorytmu hashowania i jego odhashowywania, albo bynajmniej wyjasnic jak to robic poprzez własną sól ;]

Z góry dziękuje.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
pedro84
post 19.06.2012, 15:12:48
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Nie ma możliwości "odhashowania".

Zasada jest prosta: user chce zresetować hasło, ślesz mu maila z tokenem, wchodzi pod przesłany link, sprawdzasz token, jeśli się zgadza dajesz mu możliwość ustalenia nowego hasła.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
ethann
post 19.06.2012, 15:14:57
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 18
Dołączył: 7.04.2012

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


Hm. Nie uważam to za rozsądne rozwiązanie.. Nie jest to w żaden sposób bezpieczne. Skoro można odhashować hasło to po co w takim razie trzymać je w ogóle w postaci zhashowanej. Chyba, że własny ciekawy algorytm obmyślisz jednak nie sądzę aby wyszedł bezpieczny. wink.gif

Zazwyczaj jest możliwość użycia funkcji która po potwierdzeniu drogą meilową pozwala na zmianę hasła. W żadnym poważniejszym serwisie nie spotkałem się z przypomnieniem hasła.

Algorytmy hashowania dwukierunkowe to np. Base64, ROT13 czy coś w tym stylu. Osobiście nie polecam do trzymania haseł ^^


Ten post edytował ethann 19.06.2012, 15:16:40
Go to the top of the page
+Quote Post
pedro84
post 19.06.2012, 15:17:44
Post #4





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


@ethann - Od kiedy można bezproblemowo odhashować sha1 czy md5?


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
ethann
post 19.06.2012, 15:25:56
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 18
Dołączył: 7.04.2012

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


Oj. Faktycznie zgubiłem początek.
Zgadza się @pedro, nie można tego odhashować, a algorytmy które można nie są dobrym rozwiązaniem, bo to w sumie prawie jak trzymanie ich w formie plain textu wink.gif
Go to the top of the page
+Quote Post
Raven1122
post 19.06.2012, 15:26:44
Post #6





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

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


a token trzymam w bazie danych tak, i kazdy uzytkownik ma swoj unikalny, tak mysle

Ten post edytował Raven1122 19.06.2012, 15:27:29
Go to the top of the page
+Quote Post
pedro84
post 19.06.2012, 15:27:52
Post #7





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Tak. Może być to też np. hash maila + salt - jak wolisz. Ja trzymam zawsze w bazie + sprawdzam czas żądania.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
Raven1122
post 19.06.2012, 15:33:49
Post #8





Grupa: Zarejestrowani
Postów: 369
Pomógł: 2
Dołączył: 1.11.2010

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


dziekuje za pomoc ;]
Go to the top of the page
+Quote Post
greycoffey
post 19.06.2012, 15:38:22
Post #9





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


  1. md5(sha1($haslo));
- nie jest dobre, poczytaj w dziale PHP przyklejony temat o "n-hashowaniu".
Go to the top of the page
+Quote Post
Crozin
post 19.06.2012, 15:39:36
Post #10





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@pedro84: Akurat znalezienie kolizji dla MD5 to kwestia sekund na przeciętnym komputerze.
@ethann: Nie istnieje coś takiego jak hashowanie dwukierunkowe - w takim przypadku mówimy o szyfrowaniu i base64 w żadnym wypadku nie jest przedstawicielem funkcji szyfrującej. ROT13 formalnie co prawda szyfrem jest, ale obecnie (czyt.: od setek lat) to tylko przykład szyfru dla przedszkolaków. Normalne algorytmy szyfrujące to przykładowo DES czy Blowfish.
@Raven1122: Token generujesz sobie każdorazowo dla każdej próby odzyskania hasła dodatkowo ograniczając jego żywotność oraz dezaktywując go po wykorzystaniu.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 25.07.2025 - 09:50