Når det så er sagt, så er det heller ikke godt at bruge en 2-vejs kryptering til at gemme passwords. Nu gemmer du jo nok ikke på personfølsomme oplysninger - vel?...;-) Men alligevel kan man lige så godt gøre det ordentligt, for så bliver det en god vane.
Derfor: brug denne metode istedet.
- Alle passwords gemmes i databasen med md5 - altså et-vejs kryptering.
- Opret to nye felter i brugertabellen:
lost_pw_ref varchar(32)
lost_dw_date datetime
- Når brugeren har glemt sit password gør du følgende.
1) Generer en md5-kode, som du gemmer feltet "lost_password_ref" i brugerens record (den finder du ved at søge med e-mail adressen).
2) Send en e-mail til brugeren med et link á la dette:
http://www.ditwebsite.dk/lost_pw.php?ref=den-genererede-md5-kodef.eks.
http://www.ditwebsite.dk/lost_pw.php?ref=a578d633e6e8b535971011385df781d23) Når brugeren klikker på linket, så køres filen "lost_pw.php". Filen slår op i brugertabellen på feltet "lost_pw_ref" og kontrollerer at datoen ikke er overskredet med 24 timer (bare en ekstra sikkerhed). Hvis brugeren findes, kan du nu præsentere ham for en formular, hvor han kan skrive et nyt password, som du derefter gemmer.
Hvis du synes at ovenstående opskrift er for voldsom i forhold til dit sikkerhedsbehov, så kan du bare helt lade være med at kryptere passwords i brugertabellen.