![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 6 Dołączył: 22.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kod:
Wynik dla PHP 5.2.5 Cytat stackoverflow $2a$10$bf57caf7e1fa23e4b975ab CRYPT: $2.LaeiP21fsQ Wynik dla PHP 5.4.4 Cytat stackoverflow $2a$10$bf57caf7e1fa23e4b975ab CRYPT: $2a$10$bf57caf7e1fa23e4b975aOhXjTtYrqOYLfHsxdOxGRhF03.LtKewW Chce przenieść skrypt na nowy serwer, do tego potrzebuje zmusić PHP 5.4 do zachowania jak 5.2.5 (czyli chciałbym w 5.4 uzyskać ten sam wynik co 5.2.5) Gdy do soli dodam $ na końcu to i tak nie ma różnicy. Jak możecie się domyślać pytanie zadałem też na StackOverflow jak narazie bez rezultatu (http://stackoverflow.com/questions/15021135/different-versions-of-php-different-results-of-crypt) Proszę o pomoc. Ten post edytował karakara 22.02.2013, 11:19:41 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 578 Pomógł: 69 Dołączył: 15.04.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Różnice w funkcji crypt() nie wynikają bezpośrednio z różnych wersji php, tylko z zainstalowanej funkcji hashującej.
Jeśli możesz i masz możliwość musisz zmienić funkcję hashującą. Jeśli nie, to po prostu zrezugnuj z funkcji crypt i skorzystaj z normalnego hashowania z solą. Ten post edytował timon27 22.02.2013, 11:38:44 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nie, to po prostu zrezugnuj z funkcji crypt i skorzystaj z normalnego hashowania z solą. php.net powiada: Cytat Why are common hashing functions such as md5() and sha1() unsuitable for passwords? Hashing algorithms such as MD5, SHA1 and SHA256 are designed to be very fast and efficient. With modern techniques and computer equipment, it has become trivial to "brute force" the output of these algorithms, in order to determine the original input. Because of how quickly a modern computer can "reverse" these hashing algorithms, many security professionals strongly suggest against their use for password hashing. Jednym słowem, ze względu na dużą obecnie moc obliczeniową komputerów, md5 czy sha1 są zbyt łatwe do złamania metodą brute force, więc powinno się wykorzystywać powolniejsze metody. [edit] @karakara, zerknij tutaj: https://bugs.php.net/bug.php?id=60073&edit=1 Ktoś wrzucił podobny problem jako bug w PHP. Odpowiedź brzmi: Cytat "$2C9b17FGUTd." is not a valid Blowfish hash. You got this output on earlier versions of PHP where CRYPT_BLOWFISH was not supported, or perhaps a buggy version was being used. PHP 5.3.8 is returning the correct hash. Zgadza się to z tym, co Ty otrzymywałeś. Ciąg "$2.LaeiP21fsQ" jest zdecydowanie za krótki jak na hash... Ten post edytował sowiq 22.02.2013, 11:49:26 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 6 Dołączył: 22.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
ktoś kiedyś podesłał mi rozwiązanie z hashowaniem haseł przy pomocy crypt() a ja tego użyłem zamist zwyklego np. sha384 ze solą
tak więc zmiana funkcji hashującej jest trudna ponieważ nie mam haseł użytkowników, musiałbym wymusić na wszystkich zmianę hasła I dlatego szukam innego rozwiązania aby nie stracić tych danych albo nie wymuszać zmiany haseł. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zobacz wyedytowaną część mojego posta.
Bardzo dobrze, że użyłeś crypt() - jest to obecnie zalecany sposób hashowania haseł. Szkoda tylko, że od początku nie wydało Ci się podejrzane, że hash jest bardzo krótki (porównywalny z długością hasła). Swoja drogą, jeśli dobrze pamiętam, w którejś wersji PHP był taki bug, że funkcja crypt() zawsze zwracała tylko salt. Takie rzeczy niosą dosyć poważne konsekwencje ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
I dlatego szukam innego rozwiązania aby nie stracić tych danych albo nie wymuszać zmiany haseł. To zmień je w locie zaraz przy zalogowaniu. -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ale wypadałoby najpierw jakoś sprawdzić, czy dane logowania się zgadzają ![]() Logiczne że zmianę robisz PO ![]() -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 6 Dołączył: 22.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
tak pewnie zrobię i liczę na to, że dużo osób się zaloguje.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.06.2025 - 01:29 |