Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Solenie haseł, Krótkie pytanie
Mefiuu
post
Post #1





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

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


Witam. Czytam ostatnio o soleniu haseł w PHP i chciałem zapytać czy ja to dobrze rozumiem. Tworzę sobie serwis, który chciałbym mieć jak najlepiej zabezpieczony.

Moje rozumowanie:

1. Podczas rejestracji tworzę sobie losową sól dla użytkownika (np. a298ydauydsa98d78sadsa).
2. Zapisuję tę wartość do bazy obok użytkownika
3. Podczas logowania użytkownik podaje login oraz hasło. Pobieram z bazy sól dla tego użytkownika (jeśli taki istnieje) i sprawdzam czy np. md5($salt.$password.$salt) jest prawdziwe ?

Z góry dziękuję za odpowiedź, gdyż w tematach i ogólnie w sieci często można znaleźć zalety stosowania solenia, ale ciężko jest znaleźć dobry przykład... Znalazłem przykład ze stałą solą w pliku, ale wolałbym jednak dla każdego chyba mieć osobną.

Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
sajegib
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


Dokładnie tak, możesz zrobić jak napisałeś, aczkolwiek rozwiązań jest sporo. Generalnie chodzi o to, że nawet jak ktoś sobie złamie hasza hasła to i tak bez soli to sobie może ... smile.gif
Go to the top of the page
+Quote Post
mstraczkowski
post
Post #3





Grupa: Zarejestrowani
Postów: 273
Pomógł: 52
Dołączył: 3.02.2013
Skąd: Przemyśl

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


@up Uwierz, że może.. i to dużo, solenie hashy na dzień dzisiejszy nie pomaga.
Łamanie algorytmów hashujących nie polega na odgadnięciu zahashowanej wartości, tylko na doprowadzeniu do kolizji.
Kolizja następuje wtedy gdy dwa różne ciągi znaków dają ten sam hash

Nie powinno się już stosować MD5, zostało ono wyparte przez bezpieczniejsze SHA-2 (czyli SHA-256, SHA-512), a później SHA-3

Jednak wszystkie powyższe algorytmy hashujące nie służą i nigdy nie służyły do przechowywania haseł.
Najlepszym obecnie rozwiązaniem jest używanie bcrypt do hashowania haseł.

Ten post edytował mstraczkowski 19.05.2013, 21:03:23


--------------------
Jeżeli moja wypowiedź Ci pomogła użyj przycisku
Go to the top of the page
+Quote Post
Szymciosek
post
Post #4





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


@mstraczkowski

coś takiego? https://gist.github.com/dzuelke/972386
Go to the top of the page
+Quote Post
mstraczkowski
post
Post #5





Grupa: Zarejestrowani
Postów: 273
Pomógł: 52
Dołączył: 3.02.2013
Skąd: Przemyśl

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


Yep, ale lepiej sobie podpatrzeć lub wziąć z Zenda

https://github.com/zendframework/zf2/blob/m...word/Bcrypt.php

W wersji PHP 5.3.7 jest bug i trzeba to sobie poprawnie obsłużyć
A nie widzę tego w podanym przez ciebie rozwiązaniu smile.gif


--------------------
Jeżeli moja wypowiedź Ci pomogła użyj przycisku
Go to the top of the page
+Quote Post
com
post
Post #6





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Tak jak napisał mstraczkowski można podpatrzeć rozwiazanie z Zenda, ale drugim wartym rozpatrzenia rozwiązaniem jest phpass z PHPBB3,WordPress 2.5+, Drupal 7+ itp wink.gif Dla tych którzy chcieli by jescze pogłebić swoja wiedzę polecam artykuł http://vizzdoom.net/2013/02/kompendium-bez...-atak-i-obrona/ wink.gif
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 Aktualny czas: 20.08.2025 - 09:59