Postet av: Svend Andreas Re: password()
Når du lagrer noe med password() funksjonen i en spørring (SQL) blir tekststrengen hashet. Det betyr at "hei" blir til *F2A3E8609E601B0F843E6CE0BB80002610FEB75 dersom du har MySQL nyere enn 4.1. Med MySQL eldre enn 4.1 blir det 7aee0b1c221b2323
Uansett er det umulig å finne tilbake til teksten "hei" når du først har gjort om til en hash. Se kapittel 11 som forklarer mye om hvorfor det er slik.
Hvorfor lagre hashen? Fordi da kan ingen som har tilgang til databasetabellene lese hva passordet er. Systemet kan likevel finne ut om personen har oppgitt riktig passord eller ikke. Hvordan? Ved å kjøre en spørring, slik:
$sql = "SELECT * FROM brukere WHERE brukernavn = $_POST[brukernavn] AND passord = PASSWORD($_POST[passord])";
Dersom svaret blir en rad i resultatsettet, oppgav brukeren riktig passord.
| |