phpbar.de logo

Mailinglisten-Archive

[php] Passwort im Klartext in mySQL-DB

[php] Passwort im Klartext in mySQL-DB

Christoph Schick php_(at)_phpcenter.de
Wed, 25 Apr 2001 17:54:25 +0200


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