Ik heb de passwords van de gebruikers mbv de volgende methode opgeslagen in de database:
To make the dictionary attack more difficult, salt is used. Salt is a random string that is concatenated with passwords before being operated on by the hash function. The salt value is then stored in the user database, together with the result of the hash function. Using salt makes dictionary attacks practically impossible, as a hacker would have to compute the hashes for all possible salt values. However, salt does not help make attacks on individual passwords any harder, therefore it is important to use passwords that are difficult to guess.
Our sample user database table users will have the following three fields:
username, char(30), primary key
salt, char(10)
password_hash, char(40)
Bron: http://www.15seconds.com/issue/000217.htm
Nu wil ik deze manier van opslaan combineren met de volgende inlog structuur.
Er wordt in de gebruikte sessie een random getal gegenereerd. Als men op Login klikt, wordt voordat het form gepost word het password dmv. de volgende manier versleuteld: md5(md5($password) + $_SESSION['s_key'])
Nu wordt in het controle script het password uit de database gehaald en dan dient dit te worden vergeleken met het password wat de user heeft ingevoerd.
Hier dient het probleem zich aan. In de database is deze dmv. salt versleuteld, maar in de webapplicatie is deze dmv. een key versleuteld.
Hoe deze 2 technieken samen te gebruiken? Ik wil namelijk het password veilig opslaan in de database, en het password veilig versturen.
Ps. beide structuren zijn al geschreven, ik weet alleen niet hoe te combineren.
To make the dictionary attack more difficult, salt is used. Salt is a random string that is concatenated with passwords before being operated on by the hash function. The salt value is then stored in the user database, together with the result of the hash function. Using salt makes dictionary attacks practically impossible, as a hacker would have to compute the hashes for all possible salt values. However, salt does not help make attacks on individual passwords any harder, therefore it is important to use passwords that are difficult to guess.
Our sample user database table users will have the following three fields:
username, char(30), primary key
salt, char(10)
password_hash, char(40)
Bron: http://www.15seconds.com/issue/000217.htm
Nu wil ik deze manier van opslaan combineren met de volgende inlog structuur.
Er wordt in de gebruikte sessie een random getal gegenereerd. Als men op Login klikt, wordt voordat het form gepost word het password dmv. de volgende manier versleuteld: md5(md5($password) + $_SESSION['s_key'])
Nu wordt in het controle script het password uit de database gehaald en dan dient dit te worden vergeleken met het password wat de user heeft ingevoerd.
Hier dient het probleem zich aan. In de database is deze dmv. salt versleuteld, maar in de webapplicatie is deze dmv. een key versleuteld.
Hoe deze 2 technieken samen te gebruiken? Ik wil namelijk het password veilig opslaan in de database, en het password veilig versturen.
Ps. beide structuren zijn al geschreven, ik weet alleen niet hoe te combineren.