Autor Zpráva
Jany
Profil *
Ahoj,
v db mám uloženy uživatelské údaje ve smyslu uživatelské jméno + heslo

zajímalo by mne, jaký datový typ pro uživatelské jméno použít
jde mi především o to, že by každé uživatelské jméno mělo být unikátní.


Dále bych se chtěl zeptat jak ukládat heslo. V čem je nevhodná plain-text podoba?

Různým hasshům a šifrováním moc nerozumím.
Moje představa je asi taková, že při uložení do databáze by se heslo nějak zašifrovalo. Při porovnávání se zadaným heslem (např. když se uživatel přihlašuje) by se heslo zadané uživatelem také zašifrovalo a porovnávaly by se zašifrované podoby oněch hesel.

Co Vy na to? Jaké použít pro šifrování hesel funkce?
Mastodont
Profil
jde mi především o to, že by každé uživatelské jméno mělo být unikátní

Typ varchar a přiřadit sloupci unique index
Jany
Profil *
oka, a jaký datový typ pro hesla?
ninja
Profil
Jany: pro hesla stejny (varchar, pripadne char), bez unikatniho indexu. Hesla pak ukladas jako MD5(heslo).
yFang
Profil
ninja
pro hesla stejny (varchar, pripadne char), bez unikatniho indexu. Hesla pak ukladas jako MD5(heslo).
Jen se zeptám, když už to tady je, v čem je lepší MD5, než SHA1 či PASSWORD?
Jany
Profil *
Hesla pak ukladas jako MD5(heslo).


Oka, a jak potom porovnám heslo v databázi ze zadaným heslem, když to v databázi je v MD5?
joe
Profil
yFang
Jedná se o různé algoritmy. Pokud nejsi paranoidní, tak stačí MD5.
Typ PASSWORD v db bych nepoužíval, ale nemam s ním žádné zkušenosti, tak nevím.

Jany
Napřed uděláš md5 z hesla co zadá uživatel a porovnáš s md5 hashem, který už v db je u daného uživatele.
Jany
Profil *
Oka, a umí nějak mysql vytvořit z již uložených dat md5hash?

V db mám nějaké slovo jako heslo, použitím Funkce MD5 se mi vygeneruje hash. Lze to nějak udělat hromadně pro celý sloupec?
Mastodont
Profil
Jany
Už jsi někdy slyšel slovo Google?
yFang
Profil
joe
Typ PASSWORD v db bych nepoužíval, ale nemam s ním žádné zkušenosti, tak nevím.
Já mám třeba jednu knížku o PHP a MySQL a tam používají na ukládádní hesel jenom PASSWORD.
Mastodont
Profil
PASSWORD je funkce, ne datový typ. A sám manuál k MySQL ji nedoporučuje používat.
Alphard
Profil
krom toho, password AFAIK nemá nemá PHP alternativu, jeden z důvodů, proč ho nepoužívám
yFang
Profil
No já už teď PASSWORD taky nepoužívám. Zajímalo by mě, co je lepší, jestli SHA1 nebo MD5 a proč.
Alphard
Profil
IMHO sha1()
kvůli větší délce hashe, md5 je více "profláklé", existuje pro něj více rainbow tables + AFAIK různé zprávy o prolomení, pak následné, že nikdo nic neprolomil apod., v každém případě si myslím, že pro případný útok hrubou silou lze alespoň omezit možnosti, když ne najít klíč

když se to trochu osolí, tak na běžném webu (kde nejde o peníze (nebo o nějaké drobné), popř. hodně velkou návštěvnost) není problém
stejně, když už se někdo dostane do databáze, tak je to IMHO ve většině případů problém srovnatelný s tím, že zjistí hesla

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0