![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
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 ...
![]() |
|
|
![]()
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
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
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 ![]() -------------------- Jeżeli moja wypowiedź Ci pomogła użyj przycisku
![]() |
|
|
![]()
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
![]() ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:59 |