Avatar billede Slettet bruger
13. maj 2010 - 13:24 Der er 2 kommentarer

Problemmer med getPasswordSalt(), og login..

Hej allesammen...

Jeg har prøvet at gøre password sikkert, med salt.

function getPasswordSalt()
{
    return substr( str_pad( dechex( mt_rand() ), 8, '0',
                                          STR_PAD_LEFT ), -8 );
}

// calculate the hash from a salt and a password
function getPasswordHash( $salt, $password )
{
    return $salt . ( hash( 'whirlpool', $salt . $password ) );
}

// compare a password to a hash
function comparePassword( $password, $password )
{
    $salt = substr( $password, 0, 8 );
    return $password == getPasswordHash( $salt, $password );
}

Som så bliver til :
$password = getPasswordHash( getPasswordSalt(), $password );

Og det virker helt fint i register form, men kan ikke få det til at virke i login, hvor skal det placeres henne.. ??

Håber i kan hjælpe mig...
Avatar billede jakobdo Ekspert
13. maj 2010 - 13:57 #1
Hvorfor ikke bare bruge:

$salt = 'whirlpool';
$password = md5($salt.$password);
Og lidt ekstra:

$salt = 'whirlpool';
$password = sha1($salt.$password);
Avatar billede jakobdo Ekspert
13. maj 2010 - 13:59 #2
Men hvis du gemmer $password i din db.
så skal du jo bare tjekke om det er det samme du får ved login:

$password_hash = getPasswordHash( getPasswordSalt(), $password_from_user );

//SELECT user FROM users WHERE password = $password_hash AND username = $username LIMIT 1
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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