Avatar billede Hawkeyed Nybegynder
05. januar 2010 - 19:14 Der er 1 løsning

Login system, søger et par detaljer om kryptering crypt og hmac (php og javascript)

Hej

Jeg er i gang med at lave min hjemmeside i php og jeg vil gerne lave et loginsystem.


Jeg har læst en del på nettet og fandt frem til at bruge php funktionen crypt() med md5

Jeg vil dog også gerne have at passwords bliver krypterede allerede ved klienten inden de bliver sendt. Men jeg kan ikke finde en javascript implementation af crypt nogen steder. Findes det?

Jeg kan heller ikke finde ud af præcist hvordan crypt bruger "saltet". Bliver det sat sammen med tekst-stringen på nogen måde? eller ændrer saltet md5 funktionen?


Jeg har til gengæld fundet en javascript implementation af md5 og hmac md5. Hmac bruger også et "salt" eller "key", men den skal så vidt jeg kan læse være hemmelig ved hmac og ikke ved crypt? hvad er forskellen?


Det jeg havde tænkt mig at gøre med php's crypt var at kryptere passwordet og lægge det i databasen. Når nogen logger ind, henter klienten først salt 1 og 2 (bliver genereret hver gang ajaxen bliver kaldt) til brugernavnet i et ajax kald. Derefter krypterer klienten passwordet: crypt(salt2,crypt(salt1,password))
inden det bliver sendt til serveren som sammenligner det med crypt(salt2,gemtpassword). Vil dette være sikkert?

Det kan jeg så ikke fordi jeg ikke kan finde en javascript crypt -.- Vil det være lige så godt at bruge hmac i stedet for crypt? Saltet, nøglgen eller hvad i nu vil kalde det bliver jo ikke holdt hemmelig.


Jeg er godt klar over at der nok ikke lige er nogen der gidder bryde ind hvis der bare er en lille smule sikkerhed :) men jeg vil gerne lave det ordenligt aligevel også for at lære af det :D.


På forhånd tak :)
Avatar billede Hawkeyed Nybegynder
14. februar 2011 - 09:58 #1
nvm, har lavet et system, tror det er nogenlunde sikkert.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester