Frank: passwort automatisch generieren lassen

Moin Moin,

ich möchte gerne ein passwort automatisch generieren lassen über php, nur leider hab ich keine ahnung, wie ich das machen muss.
Es soll eine kombination aus Buchstaben(groß und klein) und zahlen sein.
z.b. D6Zf425

und ich möchte die größe des passwortes individuell festlegen.

kann mir da jemand tipps geben, wie ich das realisieren kann ?

danke schonmal

mfg
Frank

  1. Hello,

    //-----------------------------------------------------------------------------
    function get_random_str($lenmin,$lenmax)
    {
      mt_srand ((double)microtime()*1000000);
      $anzahl = mt_rand($lenmin,$lenmax);

    $zeichen="abcdefghijklmnopqrstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ0123456789-+_&~.,!";

    $zufall="";

    $i=0;
      while($i<=$anzahl)
      {
        $zufall.=substr($zeichen,mt_rand(0,strlen($zeichen)-1),1);
        $i++;
      }
      return $zufall;
    }
    //-----------------------------------------------------------------------------

    Die Funktion leistet das, was Du willst.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
  2. Hallo Frank,

    Es soll eine kombination aus Buchstaben(groß und klein) und zahlen sein. z.b. D6Zf425
    und ich möchte die größe des passwortes individuell festlegen.

    schau mal da rein:
    [pref:t=66196&m=381399]
    da findest du eine routine, die sowas macht.

    freundl. Grüße aus Berlin, Raik

  3. Huhu Frank

    Es soll eine kombination aus Buchstaben(groß und klein) und zahlen sein.
    z.b. D6Zf425

    von Tom und Raik hast Du ja schon Beispiele bekommen.
    Bei beiden ist es allerdings nicht zwingend, dass auch wirklich aus allen Zeichengruppen (Zahlen, Grossbuchstaben,Kleinbuchstaben, Sonderzeichen etc.) ausgewählt wird.
    Es ist zwar recht unwahrscheinlich, aber es könnte theoretisch auch ein Lexikonwort als Passwort generiert werden.

    Deshalb, und weil ja bald Weihnachten ist hier noch ein drittes Beispiel welches in jedem Fall alle vorgegebenen Zeichengruppen berücksichtigt:

    <?php
    /**
    * ein Passwort erzeugen
    *
    * es wird aus jeder im Array $component genannten Zeichenkette mindestens ein Zeichen gewählt
    * d.h. die Länge des Passwortes ist mindestens gleich der Anzahl der Array-Elemente von $component
    *
    * Wird eine größere Länge vorgegeben wird zunächst zufällig ein Element aus dem Array $component gewählt.
    * Aus diesem dann ein zufälliges Zeichen.
    * Zum Abschluss werden alle Zeichen gemischt (shuffle) und als String zurückgegeben.
    */

    function generate_password($length = 8)
    {
        $min_lenght = 6;

    $stack = array();

    // srand nur für PHP versionen < 4.2 erforderlich
        srand ( (float) microtime() * 1000000);

    $component = array(
                'aeiou',
                'bdghjlmnpqrstvwxyz',
                'AEIOU',
                'BDGHJLMNPQRSTVWXYZ',
                '123456789',
                '-+',
                 );

    if ($length < $min_lenght) {
            $length = $min_lenght;
        }

    $n = count ($component);

    for ($i = 0; $i < $n; $i++) {
            $s = $component[$i];
                $stack[] = $s [mt_rand() % strlen($s)];
        }

    for ($i = $n; $i < $length; $i++) {
                $r = rand() % $n;
            $s = $component[$r];
                $stack[] = $s[mt_rand() % strlen($s)];
        }

    shuffle ($stack);
        $pwd = join('', $stack);
        return $pwd;
    }

    echo generate_password ();

    ?>

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
  4. Hallo Frank,

    also gut, weil Weihnachten ist noch eine Möglichkeit:

    1. Ich glaube da gibt es eine Funktion in PHP für (hihihiii...)
    2. Du kannst einfach eine Session erzeugen und die Session-ID nehmen. Die kannst Du auf die gewünschte Länge stutzen. Die Session selbst läßt Du dann einfach vergammeln.

    Gruß, Andreas

    1. so, erstmal an alle vielen Dank!
      ihr habt mir sehr weitergeholfen!

      schonmal frohe weihnachten an alle!

      thx

      mfg

      Frank