Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Dziwne zachowanie się funkcji ENCRYPT()
lorak110786
post
Post #1





Grupa: Nieautoryzowani
Postów: 34
Pomógł: 1
Dołączył: 22.06.2009
Skąd: Koszalin/Poznań

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


Mam tabele z zapisanymi historycznymi haszami haseł dla użytkowników (tak aby uniemożliwić ustawienie tego samego hasła po wymuszonej zmianie). Hasze są generowane funkcją crypt() w skrypcie php. Załóżmy ze jakaś osoba miała hasło 'qwer1234'.

Gdy wykonuje takie zapytanie
  1. SELECT oh_id, oh_data FROM osoba_historia WHERE oh_osoba=1037 AND oh_haslo=ENCRYPT('qwer1234', oh_haslo)

dostaję w wyniku rekord w którym było użyte to hasło

Jednak co ciekawe, gdy wpiszę takie zapytanie:
  1. SELECT oh_id, oh_data FROM osoba_historia WHERE oh_osoba=1037 AND oh_haslo=ENCRYPT('qwer1234ABC', oh_haslo)

również dostanę w wyniku ten rekord. Dla czego? Wszak podałem zupełnie inne (z punktu widzenia programu) hasło. Takie same jest tylko 8 pierwszych liter, a mimo to wychodzi na to że hasło jest takie samo. O co tu chodzi?

DODANE:
Tak sobie testuje i zauważyłem że funkcja ENCRYPT korzysta tak jakby z pierwszych ośmiu znaków hasła. Czemu tak się dzieje?

Ten post edytował lorak110786 11.01.2010, 23:19:12
Go to the top of the page
+Quote Post

Posty w temacie


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 - 13:50