zufälliges Passwort erstellen

Mit Hilfe einer kleinen Funktion kann man einen Sting erstellen, der durch eine zufällige Aneinanderreihung verschiedener Buchstaben und Zahlen besteht. Hierbei kann auch noch die Stringlänge zufällig bestimmt werden.
Ich verwende diese Funktion zur automatischen Erstellung eines Passwortes.

 

<?php

// Zufallspasswort erstellen
  function make_passwort() {
    $ranpass = "";
    $alpha = array ('a','b','c','d','e','f','g','h','i','j','k','l','m',
                           'n','o','p','q','r','s','t','u','v','w','x','y','z',
                           '0','1','2','3','4','5','6','7','8','9');
    srand((double)microtime()*1000000);
    shuffle($alpha);
    $rando = rand(5,10); // zufällige Stringlänge deffinieren (von 5 bis 10 Zeichen)
    for ($z=0;$z<$rando;$z++) $carrier[$z] = next($alpha);
    for ($z=0;$z<$rando;$z++) $ranpass .= $carrier[$z];
    return $ranpass;
    }

// Ausgabe
  echo "Passwort: ".make_passwort();
  
?>

Resultat dieses Codes anzeigen

  • Donnerstag, 23 Juni 2011

Kommentare (2)

  • EuroCent

    EuroCent

    24 April 2014 at 18:34 |
    Geht auch anders und denkbar functional besser ^^

    [PHP]
    function createPW($passlen = 8, $klasse = 2) {
    $newpass = "";

    for($i = 0; $i < $passlen; $i++) {
    switch(rand(0, $klasse)) {
    case 0:
    $newpass .= chr(mt_rand(97, 122)); // Kleinbuchstaben
    break;
    case 1:
    $newpass .= chr(mt_rand(65, 90)); // Großbuchstaben
    break;
    case 2:
    $newpass .= chr(mt_rand(48, 57)); // Zahlen
    break;
    }
    }
    return $newpass;
    }

    //Aufruf
    echo "Passwort-Länge (8): ".createPW();
    //Oder
    echo "Passwort-Länge viel (20) nur Buchstaben: ".createPW(20, 1);

    //Oder
    echo "Passwort-Länge (8) nur Kleinbuchstaben: ".createPW(20, 0);
    [/PHP]
    • Günther Hörandl

      Günther Hörandl

      24 April 2014 at 20:27 |
      Hallo EuroCent!

      Super einfach und funktioniert einwandfrei. (ich habe es gerade getestet).

      Vielen Dank!!!

Bitte Kommentar schreiben

Bitte einloggen, um einen Kommentar zu schreiben.