Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Szyfrowanie SHA1
Yhy
post 11.10.2011, 14:58:38
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 10.10.2011

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


Mam dziwny problem i za cholerę nie mogę pojąć o co w nim biega.

Otóż przy zakładaniu konta szyfruję hasła metodą sha1, wszystko okej, konto jest tworzone, następnie próbuję się zalogować i o dziwo dane nie są zgodne. Wyjaśniając, pobieram dane z formularza, następnie szyfruję hasło za pomocą sha1 i z tego co sprawdzałem to szyfrowanie różni się od tego które mam w bazie.

Sprawdzałem jak wygląda hasło tuż przed szyfrowaniem podczas logowania i rejestracji i są one identyczne, wygląda na to że sha1 różnie szyfruje jedno i to samo słowo.

Jakieś pomysły?

Ten post edytował Yhy 11.10.2011, 14:59:29
Go to the top of the page
+Quote Post
blooregard
post 11.10.2011, 15:29:26
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Sprawdź, czy masz to samo kodowanie w bazie i w skryptach.

Sprawdź, czy razem z hasłem do f-cji sha1 nie leci Ci jakiś biały znak.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Twist
post 11.10.2011, 15:39:33
Post #3





Grupa: Zarejestrowani
Postów: 174
Pomógł: 11
Dołączył: 12.10.2008
Skąd: Dublin

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


Wstaw kod odpowiedzialny za sprawdzanie hasła i zapis w bazie
Go to the top of the page
+Quote Post
Yhy
post 11.10.2011, 15:43:36
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 10.10.2011

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


Kodowania ustawione są w taki sam sposób. Kod logowania -

  1. tutaj był kod


Ten post edytował Yhy 11.10.2011, 16:31:37
Go to the top of the page
+Quote Post
blooregard
post 11.10.2011, 15:46:16
Post #5


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Pokaż fragment kodu odpowiedzialny za zapis hasła do bazy, bo tam jest problem.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Yhy
post 11.10.2011, 15:50:59
Post #6





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 10.10.2011

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


Cytat(blooregard @ 11.10.2011, 16:46:16 ) *
Pokaż fragment kodu odpowiedzialny za zapis hasła do bazy, bo tam jest problem.


Jest wyżej.
Go to the top of the page
+Quote Post
blooregard
post 11.10.2011, 15:53:14
Post #7


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat(Yhy @ 11.10.2011, 16:50:59 ) *
Jest wyżej.



Za ZAPIS DO BAZY, a nie za odczytanie przy logowaniu.

Ja tam żadnego INSERT-a nie widzę.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Yhy
post 11.10.2011, 15:59:52
Post #8





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 10.10.2011

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


Wybacz, zamyśliłem się.

  1. tutaj był kod


Ten post edytował Yhy 11.10.2011, 16:31:20
Go to the top of the page
+Quote Post
blooregard
post 11.10.2011, 16:03:07
Post #9


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Też wygląda ok.

W momencie dodawania konta zrób sobie var_dump na tablicy $_POST i zobacz hasło, jakie leci z formularza.
Ewentualnie dla pewności potraktuj je jeszcze trim() przed zahaszowaniem sha1().



--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Yhy
post 11.10.2011, 16:11:21
Post #10





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 10.10.2011

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


Cytat(blooregard @ 11.10.2011, 17:03:07 ) *
Też wygląda ok.

W momencie dodawania konta zrób sobie var_dump na tablicy $_POST i zobacz hasło, jakie leci z formularza.
Ewentualnie dla pewności potraktuj je jeszcze trim() przed zahaszowaniem sha1().


Sprawdzałem jak wygląda hasło tuż przed zahaszowaniem i było poprawne.

Ten post edytował Yhy 11.10.2011, 16:11:42
Go to the top of the page
+Quote Post
blooregard
post 11.10.2011, 16:13:32
Post #11


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Nie ma bata, żeby dwa identyczne ciągi znaków dały inny hasz.

Sprawdzaj i porównuj hasze na każdym etapie działania skryptu, od momentu przejęcia gołego ciągu z POST-a.

A czy metoda $sql->sqlQuery() nie wykonuje jeszcze jakiś dodatkowych operacji na wartościach zapisywanych do bazy?


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Yhy
post 11.10.2011, 16:17:27
Post #12





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 10.10.2011

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


Cytat(blooregard @ 11.10.2011, 17:13:32 ) *
Nie ma bata, żeby dwa identyczne ciągi znaków dały inny hasz.

Sprawdzaj i porównuj hasze na każdym etapie działania skryptu, od momentu przejęcia gołego ciągu z POST-a.

A czy metoda $sql->sqlQuery() nie wykonuje jeszcze jakiś dodatkowych operacji na wartościach zapisywanych do bazy?


Nic dodatkowego, dziwna sprawa bo w przypadku rejestracji hasło jest haszowane w taki sam sposób, a sprawdzając jak wygląda hasz po tuż przed wykonaniem zapytania przy logowaniu, jest ono zupełnie inne. Natomiast jeszcze przed zahaszowaniem, hasła są one identyczne w obu przypadkach.

Rozwiązałem problem - błędny typ pola w bazie.

Ten post edytował Yhy 11.10.2011, 16:30:47
Go to the top of the page
+Quote Post
blooregard
post 11.10.2011, 17:45:23
Post #13


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat
Rozwiązałem problem - błędny typ pola w bazie.


No widzisz.
Zawsze jest jakiś błąd.



--------------------
Life's simple... You make choices and don't look back...
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: 14.08.2025 - 06:25