![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 2 Dołączył: 29.04.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
Hejka,
Mam ciekawy problem z funkcją hashującą w php.
i output
jak można się szybko domyślić hash się nie pokrywa, a co za tym idzie nie mogę przeprowadzić autoryzacji użytkownika. Pierwszy raz spotkałem się z czymś takim. Jak ktoś może mi podsunąć pomysł jaki jest powód różnego hashowania tych samych stringów (lub może gdzieś po drodze stringi są zmieniane, a ja nie wiem o tym :?), to będę bardzo szczęśliwy. -------------------- C/C++ (ucze się...), PHP (ucze się...), SMARTY(ucze się...), PYTHON(ucze się...), C#(uczę się...), PERL(uczę się...), JavaScript(uczę się...), JAVA(będą mi kazali się uczyć...)... Ja się głównie uczę...
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 11 Dołączył: 2.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
nie wiem jak Twoje ale moje PHP pokazuje w takich wypadkach :
Fatal error: Cannot redeclare hash() in /test.php on line 4 -------------------- $email = filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
if($email === false) { // Houston, we have a problem.... } |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 2 Dołączył: 29.04.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
bo ta funkcja jest częścią większej klasy, ale reszta klasy jest nieistotna, wykonuje po prostu inne zadania.
-------------------- C/C++ (ucze się...), PHP (ucze się...), SMARTY(ucze się...), PYTHON(ucze się...), C#(uczę się...), PERL(uczę się...), JavaScript(uczę się...), JAVA(będą mi kazali się uczyć...)... Ja się głównie uczę...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 11 Dołączył: 2.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
bo ta funkcja jest częścią większej klasy, ale reszta klasy jest nieistotna, wykonuje po prostu inne zadania. a co ma piernik do wiatraka ? 1. skoro w klasie to metoda a nie funkcja 2. http://pl.php.net/manual/pl/functions.user-defined.php : PHP nie umożliwia przeładowywania funkcji, nie jest też możliwe usunięcie jej definicji lub redefiniowanie poprzednio określonych funkcji. więc skoro w PHP istnieje funkcja hash() to metoda nie ma prawa się tak nazywać -> Cannot redeclare hash() -------------------- $email = filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
if($email === false) { // Houston, we have a problem.... } |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
@neosatan: nie pokazałeś nam w jaki sposób wygenerowałeś hash, który jest w bazie. Może jest inaczej posolony?
1. skoro w klasie to metoda a nie funkcja Owszem, w ogólnej nomenklaturze. PHP jednak, jak zresztą widać przy deklaracji, określa to też mianem funkcji. więc skoro w PHP istnieje funkcja hash() to metoda nie ma prawa się tak nazywać -> Cannot redeclare hash() Co palisz? Też to chcę. -- edycja -- Zmieniłem zdanie. Nie chcę tego towaru. Miałbym koszmary... Ten post edytował Bags_Bunny 14.04.2011, 23:36:17 -------------------- rm -rf /*
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 2 Dołączył: 29.04.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
@jang. Napisz sobie na spokojnie taka klasę, odpal, później się zastanów co napisałeś.
@Bags_Bunny. Faktycznie. Kod jest poniżej.
Co ciekawe, z śledzenia stringów w każdej fazie wynika z tego, że z tych samych danych mogą powstać dwa inne hashe przy użyciu sha512. Może jest jakiś bug z tym związany? -------------------- C/C++ (ucze się...), PHP (ucze się...), SMARTY(ucze się...), PYTHON(ucze się...), C#(uczę się...), PERL(uczę się...), JavaScript(uczę się...), JAVA(będą mi kazali się uczyć...)... Ja się głównie uczę...
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 7 Dołączył: 2.04.2011 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 194 Pomógł: 26 Dołączył: 9.01.2011 Skąd: /dev/null Ostrzeżenie: (0%) ![]() ![]() |
a co ma piernik do wiatraka ? skoro w PHP istnieje funkcja hash() to metoda nie ma prawa się tak nazywać -> Cannot redeclare hash() Ojj ale wpadka... może na drugi raz sprawdź, zanim napiszesz taką głupotę? Przecież sam napisałeś, że metoda to nie funkcja <lol> Ten post edytował ylk 15.04.2011, 11:39:31 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 2 Dołączył: 29.04.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
Prześledziłem zmianę łańcuchów znaków, ale jak wchodzą do metody hash są identyczne (w przypadku logowania i rejestracji). Sprawdziłem też czy pod funkcjami md5() i sh1() (właściwie nie wiem po co, bo przecież to są aliasy do hash('md5', $string), hash('sha1', $string)), oraz innymi algorytmami hashowania też tak się dziej. Niestety dzieje się to samo, więc to musi być jakiś błąd w kodzie, lub istnieje jakieś przekodowanie w znakach, o którym nie wiem. Powiem, że serwer działa na windowsie i na platformie XAMPP. Nie znam żadnych bugów, które by to powodowały.
-------------------- C/C++ (ucze się...), PHP (ucze się...), SMARTY(ucze się...), PYTHON(ucze się...), C#(uczę się...), PERL(uczę się...), JavaScript(uczę się...), JAVA(będą mi kazali się uczyć...)... Ja się głównie uczę...
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 7 Dołączył: 2.04.2011 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
Porównuj dane z hashem który wygenerujesz sobie na stronie http://gen24.pl/ i sprawdź czy te przekłamanie występuje podczas rejestracji czy podczas autoryzacji (moze do bazy zapisujesz niepoprawna wartość tego $salt).
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
(moze do bazy zapisujesz niepoprawna wartość tego $salt). Słuszna uwaga. Może np. wielkość pola w bazie jest niewłaściwa i sól jest rozsypywana? -------------------- rm -rf /*
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 2 Dołączył: 29.04.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
faktycznie. sól była rozsypywana. Długość pola była o 1 za mała.
Dziękuję wszystkim za pomoc. -------------------- C/C++ (ucze się...), PHP (ucze się...), SMARTY(ucze się...), PYTHON(ucze się...), C#(uczę się...), PERL(uczę się...), JavaScript(uczę się...), JAVA(będą mi kazali się uczyć...)... Ja się głównie uczę...
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
Też nie lubię niedosolonych potraw
![]() Cieszymy się, że mogliśmy pomóc i prosimy o "pomogła" ![]() Ten post edytował Bags_Bunny 15.04.2011, 17:34:47 -------------------- rm -rf /*
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:05 |