/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Passwords i database...
Fra : Rander


Dato : 07-09-05 20:13

Jeg må have noget hjælp her...

Jeg har en form method=Post. I formen indgår et password-felt, og ved
behandlingen af dataene laver jeg en

$Password = md5 ($_POST[Password]);

Værdien $Password lægges så ind i en mysql-database.

Så langt, så godt.

Så laver jeg en anden form, på nøjagtig samme måde, og behandler den på
nøjagtig samme måde - vi kan kalde det "nye" indtastede password for
$CheckPassword.

Så hiver jeg det første password ud af databasen ($Password) og
sammenligner - og så går det galt! De to passwords er ikke ens!

Et eksempel med passwordet "burger":

Første gang md5'er det til 6e69685d22c94ffd42ccd7e70e246bd9
anden gang md5'er det til 6e69685d22c94ffd42ccd7e70e246b

Det er konsekvent at passwordet der lægges i databasen er to bogstaver
længere end når jeg skal checke på det, og jeg kan ikke umiddelbart se
nogen som helst grund til det! Jeg har prøvet at checke på md5-summen
_inden_ passwordet bliver lagt i databasen, og det er også længere...

Hvad er det jeg gør galt? I begge tilfælde sendes passwordet via en
post-formular, og i begge tilfælde "hentes" det med md5 - hvorfor er de så
ikke ens?

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Imitation er den ærligste form for smiger. (Charles Caleb Colton)


 
 
Peter Brodersen (07-09-2005)
Kommentar
Fra : Peter Brodersen


Dato : 07-09-05 20:28

On Wed, 07 Sep 2005 21:13:14 +0200, Rander <ldNOSPAM@rander.dk> wrote:

>Første gang md5'er det til 6e69685d22c94ffd42ccd7e70e246bd9
>anden gang md5'er det til 6e69685d22c94ffd42ccd7e70e246b

Lad mig gætte: password-feltet i tabellen er af typen VARCHAR(30) , så
indhold i den kolonne bliver beskåret efter 30 tegn.

--
- Peter Brodersen

Rander (07-09-2005)
Kommentar
Fra : Rander


Dato : 07-09-05 20:36

Wed, 07 Sep 2005 21:28:23 +0200 brugte Peter Brodersen 10 linier på at
fortælle dette til dk.edb.internet.webdesign.serverside.php:

>>Første gang md5'er det til 6e69685d22c94ffd42ccd7e70e246bd9
>>anden gang md5'er det til 6e69685d22c94ffd42ccd7e70e246b
>Lad mig gætte: password-feltet i tabellen er af typen VARCHAR(30) ,

Peter, er du synsk? Jeg synes at du lidt for ofte gætter skræmmende godt!

Jeg har næsten lyst til at slå mig selv ned for ikke selv at have opdaget
det...

Men jeg havde skam læst dokumentationssiden for md5 på php.net - jeg havde
bare ikke fanget at md5-summen konsekvent blev 32 byte, uanset længden af
selve passwordet... :-/

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Kvindefrigørelsen er ikke fuldendt, før en kvinde kan være fed og skaldet og
stadig betragte sig som attraktiv for det modsatte køn. (Earl Wilson)


Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste