Oprettet man. d. 02. marts 2009 kl. 23:32:28

omalley
omalley (14.848 point. Point ude: 760)

PHP og md5

Hej, jeg er ved at prøve at lave lidt md5-halløj på mine passwords.

Jeg opretter brugere vha.:

$password = 'test'; 
$salt = "edb_1234"; // RANDOM SALT
$salted_password = md5($password . $salt); 

Jeg smider så "$salted_password;" i databasen som password.

Ok, det tricky for mig kommer, når brugeren efterfølgende vil rette sit password - hvordan ser det så ud? Jeg er i tvivl om brugen af salt igen:

$password2 = $salted_password; // DET FRA DATABASEN

$salt2 = "edb_1234"; // RANDOM SALT
$salted_password2 = md5($password2 . $salt2); 

echo $salted_password2; 


Her er "$salted_password;" ikke det samme som "$salted_password2;"

Skrevet man. d. 02. marts 2009 kl. 23:57:16| #1

arne_v
arne_v (1.005.618 point)
Først MD5'er du passwordet en gang.

Og så MD5'er du det allerede MD5'ede igen.

Det skal ikke give det originale password.

Skrevet man. d. 02. marts 2009 kl. 23:58:06| #2

arne_v
arne_v (1.005.618 point)
Hvis du vil validere et login så MD5'er du det password brugeren har indtastet med det allerede MD5'ede password i databasen.

Skrevet tir. d. 03. marts 2009 kl. 00:05:43| #3

omalley
omalley (14.848 point)
Hej, tak for svar. Ja - jeg tjekker ved login - om md5 af det indtastede svarer til det i databasen.

Problemet er, når brugeren vil ændre sit password i en form, der eks. består af en række ting (køn, alder, og så password):

<input type="password" name="form_password" value="<?php echo $md5_salted_password_fra_database; ?>">

Kører man så en salt på det én gang til, eller?

Skrevet tir. d. 03. marts 2009 kl. 00:25:00| #4

arne_v
arne_v (1.005.618 point)
Hvis bruger vil ændre password så:
- checker du det gamle password først
- derefter hasher du det nye password helt på samme måde som da han blev oprindeligt oprettet og gemmer det hashede password
- det er optional om du vil bruge samme salt eller generere et nyt

Skrevet tir. d. 03. marts 2009 kl. 02:06:43| #5

Ikke fordi det har den helt store betydning, når man husker at salte sin hash, så vil jeg anbefale at du ikke bruger MD5, der er meget sårbar overfor collisions, og benytter dig af en SHA algoritme istedet.

Se mere om hvordan her:
http://dk2.php.net/ (...)
http://dk2.php.net/ (...)
http://dk2.php.net/ (...)

Skrevet tir. d. 03. marts 2009 kl. 02:51:56| #6

arne_v
arne_v (1.005.618 point)
Generelt er MD5 forældet, så det ville være godt at bruge SHA-256 i stedet for.

Skrevet tir. d. 03. marts 2009 kl. 08:41:49| #7

omalley
omalley (14.848 point)
hej... ah ja...

problemet var, at jeg viste det gamle password i input-feltet:
<input type="password" name="form_password" value="<?php echo $md5_salted_password_fra_database; ?>">

Dvs siden salter et allerede saltet password, så hvis man ikke ændrede password'et i forumularen (men eks. kun ens email-adresse) - så ændrede siden alligevel ens password.

Hvis value = "" i password-feltet er der så ingen problem.

Håber jeg har fattet det rigtigt.

Skrevet tir. d. 03. marts 2009 kl. 11:32:27| #8

omalley
omalley (14.848 point)
Tak for hjælp. Svar gerne for point!

Skrevet tir. d. 03. marts 2009 kl. 15:10:22| #9


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

HTTP Post XML og modtag svar

Oprettet den 10. februar 2012 kl. 17.55
mrkaynex giver 200 point for svar | Giv et svar »

Inspion Economy søger en dygtig programmør, som kan...

Oprettet den 10. februar 2012 kl. 16.09
Kathja giver 15 point for svar | Giv et svar »

Isolere specifik kode.

Oprettet den 10. februar 2012 kl. 13.16
mhaahr2 giver 200 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger