Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Typ danych dla kolumny z hasłem
wNogachSpisz
post 2.06.2012, 14:37:50
Post #1





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Witam.
Jaki wybrać typ danych dla kolumny gdzie przechowujemy skrót z hasła (MD5)?

Odpowiedź proszę uzasadnić happy.gif.
Go to the top of the page
+Quote Post
kefirek
post 2.06.2012, 15:19:02
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


CHAR(32) Ponieważ hasło zawsze będzie jako string o tej samej długości czyli 32 znaki

Go to the top of the page
+Quote Post
Crozin
post 2.06.2012, 15:20:46
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


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.

Ten post edytował Crozin 2.06.2012, 15:21:09
Go to the top of the page
+Quote Post
wNogachSpisz
post 2.06.2012, 15:31:07
Post #4





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


No właśnie, jaki jest sens operowania na wersji tekstowej, skoro można na binarnej?
Go to the top of the page
+Quote Post
Weles
post 2.06.2012, 16:41:12
Post #5





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 7.07.2011

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


A czy to wgl. jakaś różnica?
Ja zawsze używam kodowania PASSWORD() i hasło trzymam w typue 'varchar'.
Go to the top of the page
+Quote Post
wNogachSpisz
post 2.06.2012, 16:49:17
Post #6





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Taka różnica że VARCHAR(32) zajmuje dwa razy więcej miejsca niż BINARY(16)
Go to the top of the page
+Quote Post
Crozin
post 2.06.2012, 16:55:38
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


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).
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: 29.05.2025 - 07:58