Mailinglisten-Archive |
Hi Holger, Hi Joern!
> mit decode('<passwort>','<field_passwort>') bekommst Du dann wieder das
> richtige Passwort im Plaintext
_(at)_Joern: Ich glaube nicht dass er sich das wirklich unter sicher vorstellt.
Er möchte wahrscheinlich eine "One-Way-Encryption".
One-Way-Encryption bedeutet, dass der verschlüsselte Text nicht mehr
entschlüsselt werden kann.
Dazu gehst du am besten so vor:
Wenn sich ein neuer Benutzer anmeldet, generierst du erstmal ein
Zufalls-Passwort:
$zeichen = array("a","A","b","B","c","C","d","1","2","3",........);
$passwort;
$pwlaenge = 10;
$i = 0;
srand((double)microtime()*1000000);
while($i <= $pwlaenge)
{
$passwort .= $zeichen[rand(0, sizeof($zeichen)-1)];
$i++;
}
// Jetzt gibst du dem Benutzer z.B. das Passwort am Browser oder Per Email
aus:
echo($passwort);
// Nun verschlüsselt du das Passwort und speicherst es in der Datenbank
$passwortkod = md5($passwort); // <-- $passwortkod nun in der DB
speichern.
Wenn nun der Benutzer wieder kommt, und das eingegeben Passwort überprüft
werden soll, gehst du wie folgt vor.
$passwortcheck = md5($passworteingegeben);
// Frage nun das gespeicherte, verschlüsselte Passwort aus der Datenbank ab.
Wir nennen es nun $pwdatenbank
if($pwdatenbank == $passwortcheck)
{
// Das passiert bei richtiger Passwort-Eingabe...
}
else
{
// ... und das hier bei falscher Eingabe
}
Schöne Grüße
Christoph
php::bar PHP Wiki - Listenarchive