Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Typ danych dla kolumny z hasłem
Forum PHP.pl > Forum > Przedszkole
wNogachSpisz
Witam.
Jaki wybrać typ danych dla kolumny gdzie przechowujemy skrót z hasła (MD5)?

Odpowiedź proszę uzasadnić happy.gif.
kefirek
CHAR(32) Ponieważ hasło zawsze będzie jako string o tej samej długości czyli 32 znaki

Crozin
Jeżeli operujesz na surowym wyniku MD5 to BINARY(16), jeżeli na tekstowej to CHAR(32). Czemu takie? Bo tego typu dane zwraca MD5.
wNogachSpisz
No właśnie, jaki jest sens operowania na wersji tekstowej, skoro można na binarnej?
Weles
A czy to wgl. jakaś różnica?
Ja zawsze używam kodowania PASSWORD() i hasło trzymam w typue 'varchar'.
wNogachSpisz
Taka różnica że VARCHAR(32) zajmuje dwa razy więcej miejsca niż BINARY(16)
Crozin
Cytat
No właśnie, jaki jest sens operowania na wersji tekstowej, skoro można na binarnej?
Wersję tekstową można wyświetlić, jest ona czytelna dla człowieka. Również w przypadku konieczności przesłania hasha w wielu protokołach (szczególnie tekstowych, np. HTTP) jest ona wygodniejsza w użyciu. Jeżeli ma to być użyte na potrzeby hasła w serwisie nie ma właściwie najmniejszego znaczenia jaką wersję wybierzesz.

Cytat
Ja zawsze używam kodowania PASSWORD() i hasło trzymam w typue 'varchar'.
Dwa błędy. Pierwszym jest użycie PASSWORD ([url=http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html#function_password]patrz: note), drugim przechowywanie wyniku w kolumnie typu VARCHAR (typ o zmiennej długości dla danych o stałej długości).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.